![]() |
A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats. More...
#include <PxContact.h>

Public Types | |
| enum | StreamFormat { eSIMPLE_STREAM, eMODIFIABLE_STREAM, eCOMPRESSED_MODIFIABLE_STREAM } |
Public Member Functions | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE | PxContactStreamIterator (const PxU8 *contactPatches, const PxU8 *contactPoints, const PxU32 *contactFaceIndices, PxU32 nbPatches, PxU32 nbContacts) |
| Constructor. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE bool | hasNextPatch () const |
| Returns whether there are more patches in this stream. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 | getTotalContactCount () const |
| Returns the total contact count. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 | getTotalPatchCount () const |
| PX_CUDA_CALLABLE PX_INLINE void | nextPatch () |
| Advances iterator to next contact patch. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE bool | hasNextContact () const |
| Returns if the current patch has more contacts. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE void | nextContact () |
| Advances to the next contact in the patch. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 & | getContactNormal () const |
| Gets the current contact's normal. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getInvMassScale0 () const |
| Gets the inverse mass scale for body 0. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getInvMassScale1 () const |
| Gets the inverse mass scale for body 1. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getInvInertiaScale0 () const |
| Gets the inverse inertia scale for body 0. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getInvInertiaScale1 () const |
| Gets the inverse inertia scale for body 1. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getMaxImpulse () const |
| Gets the contact's max impulse. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 & | getTargetVel () const |
| Gets the contact's target velocity. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE const PxVec3 & | getContactPoint () const |
| Gets the contact's contact point. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getSeparation () const |
| Gets the contact's separation. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 | getFaceIndex0 () const |
| Gets the contact's face index for shape 0. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 | getFaceIndex1 () const |
| Gets the contact's face index for shape 1. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getStaticFriction () const |
| Gets the contact's static friction coefficient. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getDynamicFriction () const |
| Gets the contact's static dynamic coefficient. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getRestitution () const |
| Gets the contact's restitution coefficient. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxU32 | getMaterialFlags () const |
| Gets the contact's material flags. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxU16 | getMaterialIndex0 () const |
| Gets the contact's material index for shape 0. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE PxU16 | getMaterialIndex1 () const |
| Gets the contact's material index for shape 1. More... | |
| bool | advanceToIndex (const PxU32 initialIndex) |
| Advances the contact stream iterator to a specific contact index. More... | |
Public Attributes | |
| PxVec3 | zero |
| Utility zero vector to optimize functions returning zero vectors when a certain flag isn't set. More... | |
| const PxContactPatch * | patch |
| The patch headers. More... | |
| const PxContact * | contact |
| The contacts. More... | |
| const PxU32 * | faceIndice |
| The contact triangle face index. More... | |
| PxU32 | totalPatches |
| The total number of patches in this contact stream. More... | |
| PxU32 | totalContacts |
| The total number of contact points in this stream. More... | |
| PxU32 | nextContactIndex |
| The current contact index. More... | |
| PxU32 | nextPatchIndex |
| The current patch Index. More... | |
| PxU32 | contactPatchHeaderSize |
| PxU32 | contactPointSize |
| Contact point size. More... | |
| StreamFormat | mStreamFormat |
| The stream format. More... | |
| PxU32 | forceNoResponse |
| Indicates whether this stream is notify-only or not. More... | |
| bool | pointStepped |
| PxU32 | hasFaceIndices |
Private Member Functions | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE const PxContactPatch & | getContactPatch () const |
| Internal helper. More... | |
| PX_CUDA_CALLABLE PX_FORCE_INLINE const PxExtendedContact & | getExtendedContact () const |
A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats.
|
inline |
|
inline |
Advances the contact stream iterator to a specific contact index.
References contact, PxContactPatch::nbContacts, and PX_ASSERT.
|
inline |
Gets the current contact's normal.
Referenced by PxContactPair::extractContacts().
|
inlineprivate |
Internal helper.
|
inline |
Gets the contact's contact point.
References contact.
Referenced by PxContactPair::extractContacts().
|
inline |
Gets the contact's static dynamic coefficient.
|
inlineprivate |
|
inline |
Gets the contact's face index for shape 0.
References PXC_CONTACT_NO_FACE_INDEX.
Referenced by PxContactPair::extractContacts().
|
inline |
Gets the contact's face index for shape 1.
Referenced by PxContactPair::extractContacts().
|
inline |
Gets the inverse inertia scale for body 0.
|
inline |
Gets the inverse inertia scale for body 1.
|
inline |
Gets the inverse mass scale for body 0.
|
inline |
Gets the inverse mass scale for body 1.
|
inline |
Gets the contact's material flags.
|
inline |
Gets the contact's material index for shape 0.
References materialIndex0.
|
inline |
Gets the contact's material index for shape 1.
References materialIndex1.
|
inline |
|
inline |
Gets the contact's restitution coefficient.
|
inline |
Gets the contact's separation.
Referenced by PxContactPair::extractContacts().
|
inline |
Gets the contact's static friction coefficient.
|
inline |
Gets the contact's target velocity.
|
inline |
Returns the total contact count.
|
inline |
|
inline |
Returns if the current patch has more contacts.
References PxContactPatch::nbContacts.
Referenced by PxContactPair::extractContacts().
|
inline |
Returns whether there are more patches in this stream.
Referenced by PxContactPair::extractContacts().
|
inline |
Advances to the next contact in the patch.
References contact, nbContacts, and PX_ASSERT.
Referenced by PxContactPair::extractContacts().
|
inline |
Advances iterator to next contact patch.
References contact, PxContactPatch::nbContacts, nbContacts, and PX_ASSERT.
Referenced by PxContactPair::extractContacts().
| const PxContact* PxContactStreamIterator::contact |
The contacts.
| PxU32 PxContactStreamIterator::contactPatchHeaderSize |
| PxU32 PxContactStreamIterator::contactPointSize |
Contact point size.
| const PxU32* PxContactStreamIterator::faceIndice |
The contact triangle face index.
| PxU32 PxContactStreamIterator::forceNoResponse |
Indicates whether this stream is notify-only or not.
| PxU32 PxContactStreamIterator::hasFaceIndices |
| StreamFormat PxContactStreamIterator::mStreamFormat |
The stream format.
| PxU32 PxContactStreamIterator::nextContactIndex |
The current contact index.
| PxU32 PxContactStreamIterator::nextPatchIndex |
The current patch Index.
| const PxContactPatch* PxContactStreamIterator::patch |
The patch headers.
| bool PxContactStreamIterator::pointStepped |
| PxU32 PxContactStreamIterator::totalContacts |
The total number of contact points in this stream.
| PxU32 PxContactStreamIterator::totalPatches |
The total number of patches in this contact stream.
| PxVec3 PxContactStreamIterator::zero |
Utility zero vector to optimize functions returning zero vectors when a certain flag isn't set.