PxTGSSolverContactDesc

Defined in include/solver/PxSolverDefs.h

struct PxTGSSolverContactDesc : public PxTGSSolverConstraintPrepDescBase

Public Members

PxU8 *frictionPtr

InOut: Friction patch correlation data. Set each frame by solver. Can be retained for improved behavior or discarded each frame.

const PxContactPoint *contacts

The start of the contacts for this pair.

PxU32 numContacts

The total number of contacts this pair references.

PxU8 frictionCount

The total number of friction patches in this pair.

bool hasMaxImpulse

Defines whether this pairs has maxImpulses clamping enabled.

bool disableStrongFriction

Defines whether this pair disables strong friction (sticky friction correlation)

bool hasForceThresholds

Defines whether this pair requires force thresholds.

PxReal restDistance

A distance at which the solver should aim to hold the bodies separated. Default is 0.

PxReal maxCCDSeparation

A distance used to configure speculative CCD behavior. Default is PX_MAX_F32. Set internally in PhysX for bodies with eENABLE_SPECULATIVE_CCD on. Do not set directly!

PxReal *contactForces

Out: A buffer for the solver to write applied contact forces to.

PxU32 startFrictionPatchIndex

Start index of friction patch in the correlation buffer. Set by friction correlation.

PxU32 numFrictionPatches

Total number of friction patches in this pair. Set by friction correlation.

PxU32 startContactPatchIndex

The start index of this pair’s contact patches in the correlation buffer. For internal use only.

PxU16 numContactPatches

Total number of contact patches.

PxU16 axisConstraintCount

Axis constraint count. Defines how many constraint rows this pair has produced. Useful for statistical purposes.

PxReal maxImpulse

The maximum impulse the solver is allowed to introduce for this pair of bodies.

PxReal torsionalPatchRadius

This defines the radius of the contact patch used to apply torsional friction.

PxReal minTorsionalPatchRadius

This defines the minimum radius of the contact patch used to apply torsional friction.

PxReal offsetSlop

Slop value used to snap contact line of action back in-line with the COM.

PxConstraintInvMassScale invMassScales

In: The local mass scaling for this pair.

PxSolverConstraintDesc *desc

Output: The PxSolverConstraintDesc filled in by contact prep.

const PxTGSSolverBodyVel *body0

In: The first body. Stores velocity information. Unused unless contact involves articulations.

const PxTGSSolverBodyVel *body1

In: The second body. Stores velocity information. Unused unless contact involves articulations.

const PxTGSSolverBodyTxInertia *body0TxI

In: The first PxTGSSolverBodyTxInertia. Stores the delta body to world transform and sqrtInvInertia for first body.

const PxTGSSolverBodyTxInertia *body1TxI

In: The second PxTGSSolverBodyTxInertia. Stores the delta body to world transform and sqrtInvInertia for second body.

const PxTGSSolverBodyData *bodyData0

In: The first PxTGSSolverBodyData. Stores mass and miscellaneous information for the first body.

const PxTGSSolverBodyData *bodyData1

In: The second PxTGSSolverBodyData. Stores mass and miscellaneous information for the second body.

PxTransform bodyFrame0

In: The world-space transform of the first body.

PxTransform bodyFrame1

In: The world-space transform of the second body.

PxSolverContactDesc::BodyState bodyState0

In: Defines what kind of actor the first body is.

PxSolverContactDesc::BodyState bodyState1

In: Defines what kind of actor the second body is.

void *writeback

Pointer to constraint writeback structure. Reports back joint breaking. If not required, set to NULL.

void *shapeInteraction

Pointer to shape interaction. Used for force threshold reports in solver. Set to NULL if using immediate mode.

union PxTGSSolverConstraintPrepDescBase::[anonymous] [anonymous]