4#ifndef QPHYSICSCOMMANDS_H
5#define QPHYSICSCOMMANDS_H
18#include <QtQuick3DPhysics/qtquick3dphysicsglobal.h>
20#include <QtCore/QList>
21#include <QtGui/QVector3D>
22#include <QtGui/qgenericmatrix.h>
30class QDynamicRigidBody;
38 virtual void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body) = 0;
47 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
59 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
72 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
84 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
96 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
109 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
121 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
124 QVector3D angularVelocity;
133 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
136 QVector3D linearVelocity;
145 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
157 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
170 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
183 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
195 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
207 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
219 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
223 QVector3D eulerRotation;
void setShapesDirty(bool dirty)
void buildShapes(QPhysXWorld *physX)
physx::PxRigidActor * actor
void updateDefaultDensity(float density) override
QPhysXDynamicBody(QDynamicRigidBody *frontEnd)
DebugDrawBodyType getDebugDrawBodyType() override
void sync(float deltaTime, QHash< QQuick3DNode *, QMatrix4x4 > &transformCache) override
void rebuildDirtyShapes(QPhysicsWorld *world, QPhysXWorld *physX) override
QPhysXRigidBody(QAbstractPhysicsBody *frontEnd)
void createMaterial(QPhysXWorld *physX) override
QPhysicsCommandApplyCentralForce(const QVector3D &inForce)
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
~QPhysicsCommandApplyCentralForce() override
QPhysicsCommandApplyCentralImpulse(const QVector3D &inImpulse)
~QPhysicsCommandApplyCentralImpulse() override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
QPhysicsCommandApplyForce(const QVector3D &inForce, const QVector3D &inPosition)
~QPhysicsCommandApplyForce() override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
~QPhysicsCommandApplyImpulse() override
QPhysicsCommandApplyImpulse(const QVector3D &inImpulse, const QVector3D &inPosition)
~QPhysicsCommandApplyTorqueImpulse() override
QPhysicsCommandApplyTorqueImpulse(const QVector3D &inImpulse)
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
~QPhysicsCommandApplyTorque() override
QPhysicsCommandApplyTorque(const QVector3D &inTorque)
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
~QPhysicsCommandReset() override
QPhysicsCommandReset(QVector3D inPosition, QVector3D inEulerRotation)
QPhysicsCommandSetAngularVelocity(const QVector3D &inAngularVelocity)
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
~QPhysicsCommandSetAngularVelocity() override
QPhysicsCommandSetDensity(float inDensity)
~QPhysicsCommandSetDensity() override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
QPhysicsCommandSetGravityEnabled(bool inGravityEnabled)
~QPhysicsCommandSetGravityEnabled() override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
~QPhysicsCommandSetIsKinematic() override
QPhysicsCommandSetIsKinematic(bool inIsKinematic)
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
~QPhysicsCommandSetLinearVelocity() override
QPhysicsCommandSetLinearVelocity(const QVector3D &inLinearVelocity)
~QPhysicsCommandSetMassAndInertiaMatrix() override
QPhysicsCommandSetMassAndInertiaMatrix(float inMass, const QMatrix3x3 &inInertia)
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
QPhysicsCommandSetMassAndInertiaTensor(float inMass, const QVector3D &inInertia)
~QPhysicsCommandSetMassAndInertiaTensor() override
QPhysicsCommandSetMass(float inMass)
~QPhysicsCommandSetMass() override
void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body) override
virtual void execute(const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body)=0
virtual ~QPhysicsCommand()
static QMatrix4x4 calculateKinematicNodeTransform(QQuick3DNode *node, QHash< QQuick3DNode *, QMatrix4x4 > &transformCache)
static physx::PxTransform getPhysXWorldTransform(const QMatrix4x4 transform)
static physx::PxRigidDynamicLockFlags getLockFlags(QDynamicRigidBody *body)
static QT_BEGIN_NAMESPACE void processCommandQueue(QQueue< QPhysicsCommand * > &commandQueue, const QDynamicRigidBody &rigidBody, physx::PxRigidBody &body)
#define QT_BEGIN_NAMESPACE