5#ifndef QPHYSICSCOMMANDS_H
6#define QPHYSICSCOMMANDS_H
19#include <QtQuick3DPhysics/qtquick3dphysicsglobal.h>
21#include <QtCore/QList>
22#include <QtGui/QVector3D>
23#include <QtGui/qgenericmatrix.h>
31class QDynamicRigidBody;
39 virtual void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body) = 0;
48 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
60 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
73 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
85 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
97 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
110 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
122 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
125 QVector3D angularVelocity;
134 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
137 QVector3D linearVelocity;
146 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
158 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
171 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
184 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
196 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
208 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
220 void execute(
const QDynamicRigidBody &rigidBody,
physx::PxRigidBody &body)
override;
224 QVector3D eulerRotation;
void setShapesDirty(bool dirty)
void buildShapes(QPhysXWorld *physX)
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