18#include <QtQuick3DPhysics/private/qabstractphysicsbody_p.h>
19#include <QtQml/QQmlEngine>
21#include <QtCore/QQueue>
22#include <QtQuick3DUtils/private/qssgutils_p.h>
49 Q_PROPERTY(
float mass READ mass WRITE setMass NOTIFY massChanged)
50 Q_PROPERTY(
float density READ density WRITE setDensity NOTIFY densityChanged)
52 Q_PROPERTY(AxisLock linearAxisLock READ linearAxisLock WRITE setLinearAxisLock NOTIFY
53 linearAxisLockChanged REVISION(6, 5))
54 Q_PROPERTY(AxisLock angularAxisLock READ angularAxisLock WRITE setAngularAxisLock NOTIFY
55 angularAxisLockChanged REVISION(6, 5))
57 Q_PROPERTY(
bool isKinematic READ isKinematic WRITE setIsKinematic NOTIFY isKinematicChanged)
58 Q_PROPERTY(
bool gravityEnabled READ gravityEnabled WRITE setGravityEnabled NOTIFY
59 gravityEnabledChanged)
61 Q_PROPERTY(MassMode massMode READ massMode WRITE setMassMode NOTIFY massModeChanged)
65 setCenterOfMassPosition NOTIFY centerOfMassPositionChanged)
67 setCenterOfMassRotation NOTIFY centerOfMassRotationChanged)
68 Q_PROPERTY(
QList<
float> inertiaMatrix READ readInertiaMatrix WRITE setInertiaMatrix NOTIFY
69 inertiaMatrixChanged);
71 Q_PROPERTY(
QVector3D kinematicPosition READ kinematicPosition WRITE setKinematicPosition NOTIFY
72 kinematicPositionChanged REVISION(6, 5));
74 setKinematicEulerRotation NOTIFY kinematicEulerRotationChanged REVISION(6,
77 NOTIFY kinematicRotationChanged REVISION(6, 5));
79 kinematicPivotChanged REVISION(6, 5));
99 void setMass(
float mass);
101 float density() const;
102 void setDensity(
float density);
104 bool isKinematic() const;
105 void setIsKinematic(
bool isKinematic);
113 bool gravityEnabled() const;
114 void setGravityEnabled(
bool gravityEnabled);
129 void updateDefaultDensity(
float defaultDensity);
132 void setMassMode(const
MassMode newMassMode);
135 void setInertiaTensor(const
QVector3D &newInertiaTensor);
137 const
QVector3D ¢erOfMassPosition() const;
138 void setCenterOfMassPosition(const
QVector3D &newCenterOfMassPosition);
141 void setCenterOfMassRotation(const
QQuaternion &newCenterOfMassRotation);
143 const
QList<
float> &readInertiaMatrix() const;
144 void setInertiaMatrix(const
QList<
float> &newInertiaMatrix);
160 void massChanged(
float mass);
161 void densityChanged(
float density);
162 void isKinematicChanged(
bool isKinematic);
165 void gravityEnabledChanged();
166 void massModeChanged();
167 void inertiaTensorChanged();
168 void centerOfMassPositionChanged();
169 void centerOfMassRotationChanged();
170 void inertiaMatrixChanged();
181 QList<
float> m_inertiaMatrixList;
185 bool m_isKinematic =
false;
189 bool m_gravityEnabled = true;
The QQuaternion class represents a quaternion consisting of a vector and scalar.
QStaticRigidBody()
\qmltype StaticRigidBody \inqmlmodule QtQuick3D.Physics \inherits PhysicsBody
The QVector3D class represents a vector or vertex in 3D space.
Combined button and popup list for selecting options.
#define QML_NAMED_ELEMENT(NAME)
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
#define Q_QUICK3DPHYSICS_EXPORT