51 eFREEZE_THIS_FRAME = 1 << 1,
52 eUNFREEZE_THIS_FRAME = 1 << 2,
53 eACTIVATE_THIS_FRAME = 1 << 3,
54 eDEACTIVATE_THIS_FRAME = 1 << 4,
56 eDISABLE_GRAVITY_GPU = 1 << 5,
57 eSPECULATIVE_CCD = 1 << 6,
58 eENABLE_GYROSCROPIC = 1 << 7,
60 eLOCK_LINEAR_X = 1 << (PX_INTERNAL_LOCK_FLAG_START),
61 eLOCK_LINEAR_Y = 1 << (PX_INTERNAL_LOCK_FLAG_START + 1),
62 eLOCK_LINEAR_Z = 1 << (PX_INTERNAL_LOCK_FLAG_START + 2),
63 eLOCK_ANGULAR_X = 1 << (PX_INTERNAL_LOCK_FLAG_START + 3),
64 eLOCK_ANGULAR_Y = 1 << (PX_INTERNAL_LOCK_FLAG_START + 4),
65 eLOCK_ANGULAR_Z = 1 << (PX_INTERNAL_LOCK_FLAG_START + 5),
66 eRETAIN_ACCELERATION = 1 << 14,
67 eFIRST_BODY_COPY_GPU = 1 << 15
72 mLastTransform (core->body2World),
74 solverIterationCounts (core->solverIterationCounts),
77 sleepLinVelAcc (
PxVec3(0.0f)),
78 freezeCount (freeze_count),
79 sleepAngVelAcc (
PxVec3(0.0f)),
92 mCore->linearVelocity = linear;
93 mCore->angularVelocity = angular; }
100 PX_FORCE_INLINE PxU32 getIterationCounts() {
return mCore->solverIterationCounts; }
101 PX_FORCE_INLINE PxReal getReportThreshold()
const {
return mCore->contactReportThreshold; }
104 PX_FORCE_INLINE void saveLastCCDTransform() { mLastTransform = mCore->body2World; }
106 PX_FORCE_INLINE bool isKinematic()
const {
return mCore->inverseMass == 0.0f; }
110 PX_FORCE_INLINE PxReal getInvMass()
const {
return mCore->inverseMass; }
112 PX_FORCE_INLINE PxReal getMass()
const {
return 1.0f/mCore->inverseMass; }
114 1.0f/mCore->inverseInertia.y,
115 1.0f/mCore->inverseInertia.z); }
119 PX_FORCE_INLINE PxU32 isActivateThisFrame()
const {
return PxU32(mInternalFlags & eACTIVATE_THIS_FRAME); }
120 PX_FORCE_INLINE PxU32 isDeactivateThisFrame()
const {
return PxU32(mInternalFlags & eDEACTIVATE_THIS_FRAME); }
121 PX_FORCE_INLINE PxU32 isFreezeThisFrame()
const {
return PxU32(mInternalFlags & eFREEZE_THIS_FRAME); }
122 PX_FORCE_INLINE PxU32 isUnfreezeThisFrame()
const {
return PxU32(mInternalFlags & eUNFREEZE_THIS_FRAME); }
123 PX_FORCE_INLINE void clearFreezeFlag() { mInternalFlags &= ~eFREEZE_THIS_FRAME; }
124 PX_FORCE_INLINE void clearUnfreezeFlag() { mInternalFlags &= ~eUNFREEZE_THIS_FRAME; }
125 PX_FORCE_INLINE void clearAllFrameFlags() { mInternalFlags &= ~(eFREEZE_THIS_FRAME | eUNFREEZE_THIS_FRAME | eACTIVATE_THIS_FRAME | eDEACTIVATE_THIS_FRAME); }
128 void advanceToToi(PxReal toi, PxReal dt,
bool clip);
129 void advancePrevPoseToToi(PxReal toi);
135 PxU16 mInternalFlags;
136 PxU16 solverIterationCounts;
142 PxU32 alignmentPad[2];
Definition PxsRigidBody.h:43
Definition PxvDynamics.h:74
Structure to represent a body in the CCD system.
Definition PxsCCD.h:123