PxContactStreamIterator
Defined in include/PxContact.h
- 
struct PxContactStreamIterator
- A class to iterate over a compressed contact stream. - This supports read-only access to the various contact formats. - Public Types - Public Functions - 
inline PxContactStreamIterator(const PxU8 *contactPatches, const PxU8 *contactPoints, const PxU32 *contactFaceIndices, PxU32 nbPatches, PxU32 nbContacts)
- Constructor. 
 - 
inline bool hasNextPatch() const
- Returns whether there are more patches in this stream. - Returns
- Whether there are more patches in this stream. 
 
 - 
inline PxU32 getTotalContactCount() const
- Returns the total contact count. - Returns
- Total contact count. 
 
 - 
inline void nextPatch()
- Advances iterator to next contact patch. 
 - 
inline bool hasNextContact() const
- Returns if the current patch has more contacts. - Returns
- If there are more contacts in the current patch. 
 
 - 
inline void nextContact()
- Advances to the next contact in the patch. 
 - 
inline const PxVec3 &getContactNormal() const
- Gets the current contact’s normal. - Returns
- The current contact’s normal. 
 
 - 
inline PxReal getInvMassScale0() const
- Gets the inverse mass scale for body 0. - Returns
- The inverse mass scale for body 0. 
 
 - 
inline PxReal getInvMassScale1() const
- Gets the inverse mass scale for body 1. - Returns
- The inverse mass scale for body 1. 
 
 - 
inline PxReal getInvInertiaScale0() const
- Gets the inverse inertia scale for body 0. - Returns
- The inverse inertia scale for body 0. 
 
 - 
inline PxReal getInvInertiaScale1() const
- Gets the inverse inertia scale for body 1. - Returns
- The inverse inertia scale for body 1. 
 
 - 
inline PxReal getMaxImpulse() const
- Gets the contact’s max impulse. - Returns
- The contact’s max impulse. 
 
 - 
inline const PxVec3 &getTargetVel() const
- Gets the contact’s target velocity. - Returns
- The contact’s target velocity. 
 
 - 
inline const PxVec3 &getContactPoint() const
- Gets the contact’s contact point. - Returns
- The contact’s contact point. 
 
 - 
inline PxReal getSeparation() const
- Gets the contact’s separation. - Returns
- The contact’s separation. 
 
 - 
inline PxU32 getFaceIndex0() const
- Gets the contact’s face index for shape 0. - Returns
- The contact’s face index for shape 0. 
 
 - 
inline PxU32 getFaceIndex1() const
- Gets the contact’s face index for shape 1. - Returns
- The contact’s face index for shape 1. 
 
 - 
inline PxReal getStaticFriction() const
- Gets the contact’s static friction coefficient. - Returns
- The contact’s static friction coefficient. 
 
 - 
inline PxReal getDynamicFriction() const
- Gets the contact’s dynamic friction coefficient. - Returns
- The contact’s dynamic friction coefficient. 
 
 - 
inline PxReal getRestitution() const
- Gets the contact’s restitution coefficient. - Returns
- The contact’s restitution coefficient. 
 
 - 
inline PxReal getDamping() const
- Gets the contact’s damping value. - Returns
- The contact’s damping value. 
 
 - 
inline PxU32 getMaterialFlags() const
- Gets the contact’s material flags. - Returns
- The contact’s material flags. 
 
 - 
inline PxU16 getMaterialIndex0() const
- Gets the contact’s material index for shape 0. - Returns
- The contact’s material index for shape 0. 
 
 - Public Members - 
PxVec3 zero
- Utility zero vector to optimize functions returning zero vectors when a certain flag isn’t set. - Note - This allows us to return by reference instead of having to return by value. Returning by value will go via memory (registers -> stack -> registers), which can cause performance issues on certain platforms. 
 - 
const PxContactPatch *patch
- The patch headers. 
 - 
PxU32 contactPatchHeaderSize
- Size of contact patch header. - Note - This varies whether the patch is modifiable or not. 
 - 
PxU32 contactPointSize
- Contact point size. - Note - This varies whether the patch has feature indices or is modifiable. 
 - 
StreamFormat mStreamFormat
- The stream format. 
 - 
bool pointStepped
- Internal helper for stepping the contact stream iterator. 
 
- 
inline PxContactStreamIterator(const PxU8 *contactPatches, const PxU8 *contactPoints, const PxU32 *contactFaceIndices, PxU32 nbPatches, PxU32 nbContacts)