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

void *shapeInteraction

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

PxContactPoint *contacts

The start of the contacts for this pair.

PxU32 numContacts

The total number of contacts this pair references.

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!

PxU8 *frictionPtr

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

PxU8 frictionCount

The total number of friction patches in this pair.

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.