PxSolverContactDesc#

Defined in include/solver/PxSolverDefs.h

struct PxSolverContactDesc : public PxSolverConstraintPrepDescBase#

Data structure used for preparing constraints before solving them.

Public Types

enum BodyState#

Values:

enumerator eDYNAMIC_BODY#
enumerator eSTATIC_BODY#
enumerator eKINEMATIC_BODY#
enumerator eARTICULATION#

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 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 PxSolverBody *body0#

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

const PxSolverBody *body1#

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

const PxSolverBodyData *data0#

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

const PxSolverBodyData *data1#

In: The second PxSolverBodyData. 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.

BodyState bodyState0#

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

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 PxSolverConstraintPrepDescBase::[anonymous] [anonymous]#