RavEngine
Loading...
Searching...
No Matches
physx::PxsIndexedInteraction Struct Reference

Each contact manager or constraint references two separate bodies, where a body can be a dynamic rigid body, a kinematic rigid body, an articulation or a static. The struct PxsIndexedInteraction describes the bodies that make up the pair. More...

#include <PxsIslandManagerTypes.h>

Inheritance diagram for physx::PxsIndexedInteraction:
[legend]

Public Types

enum  Enum { eBODY = 0 , eKINEMATIC = 1 , eARTICULATION = 2 , eWORLD = 3 }
 An enumerated list of all possible body types. A body type is stored for each body in the pair.
 

Public Attributes

union { 
 
   PxsNodeType   solverBody0 
 
   PxsNodeType   articulation0 
 
};  
 An index describing how to access body0.
 
union { 
 
   PxsNodeType   solverBody1 
 
   PxsNodeType   articulation1 
 
};  
 An index describing how to access body1.
 
PxU8 indexType0
 The type (eBODY, eKINEMATIC etc) of body0.
 
PxU8 indexType1
 The type (eBODY, eKINEMATIC etc) of body1.
 
PxU8 pad [2]
 

Detailed Description

Each contact manager or constraint references two separate bodies, where a body can be a dynamic rigid body, a kinematic rigid body, an articulation or a static. The struct PxsIndexedInteraction describes the bodies that make up the pair.

Member Data Documentation

◆ [union]

An index describing how to access body0.

Note
If body0 is a dynamic (eBODY) rigid body then solverBody0 is an index into PxsIslandObjects::bodies.
If body0 is a kinematic (eKINEMATIC) rigid body then solverBody0 is an index into PxsIslandManager::getActiveKinematics.
If body0 is a static (eWORLD) then solverBody0 is PX_MAX_U32 or PX_MAX_U64, depending on the platform being 32- or 64-bit.
If body0 is an articulation then the articulation is found directly from Dy::getArticulation(articulation0)
If body0 is an soft body then the soft body is found directly from Dy::getSoftBody(softBody0)

◆ [union]

An index describing how to access body1.

Note
If body1 is a dynamic (eBODY) rigid body then solverBody1 is an index into PxsIslandObjects::bodies.
If body1 is a kinematic (eKINEMATIC) rigid body then solverBody1 is an index into PxsIslandManager::getActiveKinematics.
If body1 is a static (eWORLD) then solverBody1 is PX_MAX_U32 or PX_MAX_U64, depending on the platform being 32- or 64-bit.
If body1 is an articulation then the articulation is found directly from Dy::getArticulation(articulation1)
If body0 is an soft body then the soft body is found directly from Dy::getSoftBody(softBody1)

The documentation for this struct was generated from the following file: