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.