30 #ifndef PX_SOLVER_DEFS_H 31 #define PX_SOLVER_DEFS_H 43 #pragma warning(disable : 4324) // structure was padded due to alignment 59 class ShapeInteraction;
72 PxSolverBody() : linearVelocity(0.f), maxSolverNormalProgress(0), maxSolverFrictionProgress(0), angularState(0), solverProgress(0)
95 return linearVelocity.
dot(lin) + angularVelocity.
dot(ang);
113 static const PxU16 NO_LINK = 0xffff;
157 eDYNAMIC_BODY = 1 << 0,
158 eSTATIC_BODY = 1 << 1,
159 eKINEMATIC_BODY = 1 << 2,
160 eARTICULATION = 1 << 3
201 PX_ALIGN(16, Sc::ShapeInteraction* shapeInteraction);
235 virtual PxU8* reserveConstraintData(
const PxU32 byteSize) = 0;
242 virtual PxU8* reserveFrictionData(
const PxU32 byteSize) = 0;
Definition: GuContactBuffer.h:37
PxVec3 angularState
Delta angular velocity state computed by the solver.
Definition: PxSolverDefs.h:68
PxU16 pad
112 pad
Definition: PxSolverDefs.h:91
BodyState bodyState0
In: Defines what kind of actor the first body is.
Definition: PxSolverDefs.h:176
void * writeback
Pointer to constraint writeback structure. Reports back joint breaking. If not required, set to NULL.
Definition: PxSolverDefs.h:188
PxU16 linkIndexB
Link index defining which link in Articulation B this constraint affects. If not an articulation...
Definition: PxSolverDefs.h:133
Definition: PxSolverDefs.h:181
PxU32 bodyBDataIndex
Body B's index into the SolverBodyData array.
Definition: PxSolverDefs.h:143
Definition: PxSolverDefs.h:79
BodyState
Definition: PxSolverDefs.h:155
PxU16 linkIndexA
Link index defining which link in Articulation A this constraint affects. If not an articulation...
Definition: PxSolverDefs.h:132
PX_CUDA_CALLABLE PX_FORCE_INLINE float dot(const PxVec3 &v) const
returns the scalar product of this and other.
Definition: PxVec3.h:276
PxReal penBiasClamp
72 the penetration bias clamp
Definition: PxSolverDefs.h:86
#define PX_FORCE_INLINE
Definition: PxPreprocessor.h:364
float PxReal
Definition: PxSimpleTypes.h:78
Definition: PxSolverDefs.h:51
BodyState bodyState1
In: Defines what kind of actor the second body is.
Definition: PxSolverDefs.h:177
PxVec3 body0WorldOffset
Body0 world offset.
Definition: PxSolverDefs.h:194
Defines this pair is a contact constraint.
Definition: PxSolverDefs.h:117
Definition: PxSolverDefs.h:227
A constraint.
Definition: PxConstraintDesc.h:141
PxReal maxContactImpulse
80 the max contact impulse
Definition: PxSolverDefs.h:88
const PxSolverBody * body1
In: The second body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:168
PxSolverBody * bodyA
bodyA pointer
Definition: PxSolverDefs.h:123
PxReal invMass
16 inverse mass
Definition: PxSolverDefs.h:82
PxU16 lockFlags
110 lock flags
Definition: PxSolverDefs.h:90
Definition: PxConstraintDesc.h:189
PxSolverBody()
Definition: PxSolverDefs.h:72
bool improvedSlerp
Use improved slerp model.
Definition: PxSolverDefs.h:190
virtual ~PxConstraintAllocator()
Definition: PxSolverDefs.h:244
PxSolverConstraintDesc * desc
Output: The PxSolverConstraintDesc filled in by contact prep.
Definition: PxSolverDefs.h:165
PxU16 writeBackLengthOver4
writeBackLength/4, max writeback length is 256K, allows PxSolverConstraintDesc to fit in 32 bytes ...
Definition: PxSolverDefs.h:146
Definition: PxSolverDefs.h:57
bool driveLimitsAreForces
Indicates whether drive limits are forces.
Definition: PxSolverDefs.h:191
PxTransform bodyFrame0
In: The world-space transform of the first body.
Definition: PxSolverDefs.h:173
PxConstraintInvMassScale mInvMassScales
In: The local mass scaling for this pair.
Definition: PxSolverDefs.h:163
uint8_t PxU8
Definition: PxSimpleTypes.h:75
ConstraintType
Definition: PxSolverDefs.h:115
Definition: PxSolverDefs.h:153
PxU16 constraintLengthOver16
constraintLength/16, max constraint length is 1MB, allows PxSolverConstraintDesc to fit in 32 bytes ...
Definition: PxSolverDefs.h:147
PxReal linBreakForce
Definition: PxSolverDefs.h:186
3x3 matrix class
Definition: PxMat33.h:90
PxU8 * constraint
Pointer to the constraint rows to be solved.
Definition: PxSolverDefs.h:149
Definition: PxSolverDefs.h:62
PxU32 nodeIndex
76 the node idx of this solverBodyData. Used by solver to reference between solver bodies and island ...
Definition: PxSolverDefs.h:87
PxVec3 angularVelocity
28 Pre-solver angular velocity
Definition: PxSolverDefs.h:83
PX_COMPILE_TIME_ASSERT(sizeof(PxSolverBody)==32)
PxSolverBody * bodyB
BodyB pointer.
Definition: PxSolverDefs.h:129
PxU16 maxSolverFrictionProgress
Progress counter used by constraint batching and parallel island solver.
Definition: PxSolverDefs.h:66
PxTransform bodyFrame1
In: The world-space transform of the second body.
Definition: PxSolverDefs.h:174
PxU32 solverProgress
Progress counter used by constraint batching and parallel island solver.
Definition: PxSolverDefs.h:70
const PxSolverBody * body0
In: The first body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:167
#define PX_ALIGN(alignment, decl)
Definition: PxPreprocessor.h:421
bool disablePreprocessing
Disable joint pre-processing. Pre-processing can improve stability but under certain circumstances...
Definition: PxSolverDefs.h:189
PxU16 articulationALength
The total length of articulation A in multiples of 16 bytes.
Definition: PxSolverDefs.h:136
bool extendedLimits
Indicates whether we want to use extended limits.
Definition: PxSolverDefs.h:192
PxMat33 sqrtInvInertia
68 inverse inertia in world space
Definition: PxSolverDefs.h:85
PxU16 maxSolverNormalProgress
Progress counter used by constraint batching and parallel island solver.
Definition: PxSolverDefs.h:65
Definition: PxSolverDefs.h:111
const PxSolverBodyData * data1
In: The second PxSolverBodyData. Stores mass and miscellaneous information for the second body...
Definition: PxSolverDefs.h:171
PxTransform body2World
108 the body's transform
Definition: PxSolverDefs.h:89
uint16_t PxU16
Definition: PxSimpleTypes.h:73
uint32_t PxU32
Definition: Px.h:48
PxReal reportThreshold
32 contact force threshold
Definition: PxSolverDefs.h:84
Dy::ArticulationV * articulationA
Articulation pointer for body A.
Definition: PxSolverDefs.h:124
PxU16 articulationBLength
The total lengh of articulation B in multiples of 16 bytes.
Definition: PxSolverDefs.h:142
PxReal minResponseThreshold
The minimum response threshold.
Definition: PxSolverDefs.h:187
PX_FORCE_INLINE PxReal projectVelocity(const PxVec3 &lin, const PxVec3 &ang) const
Definition: PxSolverDefs.h:93
const PxSolverBodyData * data0
In: The first PxSolverBodyData. Stores mass and miscellaneous information for the first body...
Definition: PxSolverDefs.h:170
PxU32 bodyADataIndex
Body A's index into the SolverBodyData array.
Definition: PxSolverDefs.h:137
3 Element vector class.
Definition: PxVec3.h:49
Dy::ArticulationV * articulationB
Articulation pointer for body B.
Definition: PxSolverDefs.h:130
void * writeBack
Pointer to the writeback structure results for this given constraint are to be written to...
Definition: PxSolverDefs.h:150
PxU32 numRows
The number of rows.
Definition: PxSolverDefs.h:184