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

Public Member Functions | |
| PX_FORCE_INLINE | PxContactStreamIterator (const PxU8 *stream, PxU32 size) |
| Constructor. More... | |
| PX_FORCE_INLINE bool | hasNextPatch () const |
| Returns whether there are more patches in this stream. More... | |
| PX_FORCE_INLINE PxU32 | getTotalContactCount () const |
| Returns the total contact count. More... | |
| PX_INLINE void | nextPatch () |
| Advances iterator to next contact patch. More... | |
| PX_FORCE_INLINE bool | hasNextContact () const |
| Returns if the current patch has more contacts. More... | |
| PX_FORCE_INLINE void | nextContact () |
| Advances to the next contact in the patch. More... | |
| PX_FORCE_INLINE const PxVec3 & | getContactNormal () const |
| Gets the current contact's normal. More... | |
| PX_FORCE_INLINE PxReal | getInvMassScale0 () const |
| Gets the inverse mass scale for body 0. More... | |
| PX_FORCE_INLINE PxReal | getInvMassScale1 () const |
| Gets the inverse mass scale for body 1. More... | |
| PX_FORCE_INLINE PxReal | getInvInertiaScale0 () const |
| Gets the inverse inertia scale for body 0. More... | |
| PX_FORCE_INLINE PxReal | getInvInertiaScale1 () const |
| Gets the inverse inertia scale for body 1. More... | |
| PX_FORCE_INLINE PxReal | getMaxImpulse () const |
| Gets the contact's max impulse. More... | |
| PX_FORCE_INLINE const PxVec3 & | getTargetVel () const |
| Gets the contact's target velocity. More... | |
| PX_FORCE_INLINE const PxVec3 & | getContactPoint () const |
| Gets the contact's contact point. More... | |
| PX_FORCE_INLINE PxReal | getSeparation () const |
| Gets the contact's separation. More... | |
| PX_FORCE_INLINE PxU32 | getFaceIndex0 () const |
| Gets the contact's face index for shape 0. More... | |
| PX_FORCE_INLINE PxU32 | getFaceIndex1 () const |
| Gets the contact's face index for shape 1. More... | |
| PX_FORCE_INLINE PxReal | getStaticFriction () const |
| Gets the contact's static friction coefficient. More... | |
| PX_FORCE_INLINE PxReal | getDynamicFriction () const |
| Gets the contact's static dynamic coefficient. More... | |
| PX_FORCE_INLINE PxReal | getRestitution () const |
| Gets the contact's restitution coefficient. More... | |
| PX_FORCE_INLINE PxU32 | getMaterialFlags () const |
| Gets the contact's material flags. More... | |
| PX_FORCE_INLINE PxU16 | getMaterialIndex0 () const |
| Gets the contact's material index for shape 0. More... | |
| 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 PxContactHeader * | header |
| The current contact header. More... | |
| const PxU8 * | currPtr |
| Current pointer in the stream. More... | |
| const PxU8 * | endPtr |
| Pointer to the end of the stream. More... | |
| const PxU8 * | patchStart |
| Pointer to the start of the patch. More... | |
| const PxU8 * | patchEnd |
| Pointer to the end of the patch. More... | |
| const PxSimpleContact * | contactStart |
| Pointer to the first contact in the patch. More... | |
| PxU32 | streamSize |
| Size of the stream in bytes. More... | |
| PxU32 | nbContactsInPatch |
| Total number of contacts in the patch. More... | |
| PxU32 | currentContact |
| Current contact index in the patch. More... | |
| PxU32 | contactPatchHeaderSize |
| Size of contact patch header. More... | |
| PxU32 | contactPointSize |
| Contact point size. More... | |
| PxU32 | hasFaceIndices |
| Indicates whether this stream carries face indices. More... | |
| PxU32 | contactsWereModifiable |
| Indicates whether this stream is created from modifiable contact (internal usage), the variables are still read-only. More... | |
| PxU32 | forceNoResponse |
| Indicates whether this stream is notify-only or not. More... | |
Private Member Functions | |
| PX_FORCE_INLINE const PxContactPatch & | getContactPatch () const |
| Internal helper. More... | |
| PX_FORCE_INLINE const PxModifiableContact & | getModifiableContact () const |
| Internal helper. More... | |
| PX_FORCE_INLINE const PxModifyContactHeader & | getModifiableContactHeader () const |
| Internal helper. More... | |
A class to iterate over a compressed contact stream. This supports read-only access to the various contact formats.
|
inline |
Constructor.
| [in] | stream | Pointer to the start of the stream. |
| [in] | size | Size of the stream in bytes. |
References PxContactHeader::eFORCE_NO_RESPONSE, PxContactHeader::eHAS_FACE_INDICES, PxContactHeader::eMODIFIABLE, PxContactHeader::flags, NULL, and PX_ASSERT.
|
inline |
Advances the contact stream iterator to a specific contact index.
References PX_ASSERT.
|
inline |
Gets the current contact's normal.
Referenced by PxContactPair::extractContacts().
|
inlineprivate |
Internal helper.
References PX_ASSERT.
|
inline |
Gets the contact's contact point.
Referenced by PxContactPair::extractContacts().
|
inline |
Gets the contact's static dynamic coefficient.
|
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.
References PXC_CONTACT_NO_FACE_INDEX.
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.
|
inline |
Gets the contact's material index for shape 1.
|
inline |
|
inlineprivate |
Internal helper.
References PX_ASSERT.
|
inlineprivate |
Internal helper.
References PX_ASSERT.
|
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 |
Returns if the current patch has more contacts.
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 PX_ASSERT.
Referenced by PxContactPair::extractContacts().
|
inline |
Advances iterator to next contact patch.
Referenced by PxContactPair::extractContacts().
| PxU32 PxContactStreamIterator::contactPatchHeaderSize |
Size of contact patch header.
| PxU32 PxContactStreamIterator::contactPointSize |
Contact point size.
| const PxSimpleContact* PxContactStreamIterator::contactStart |
Pointer to the first contact in the patch.
| PxU32 PxContactStreamIterator::contactsWereModifiable |
Indicates whether this stream is created from modifiable contact (internal usage), the variables are still read-only.
| PxU32 PxContactStreamIterator::currentContact |
Current contact index in the patch.
| const PxU8* PxContactStreamIterator::currPtr |
Current pointer in the stream.
| const PxU8* PxContactStreamIterator::endPtr |
Pointer to the end of the stream.
| PxU32 PxContactStreamIterator::forceNoResponse |
Indicates whether this stream is notify-only or not.
| PxU32 PxContactStreamIterator::hasFaceIndices |
Indicates whether this stream carries face indices.
| const PxContactHeader* PxContactStreamIterator::header |
The current contact header.
| PxU32 PxContactStreamIterator::nbContactsInPatch |
Total number of contacts in the patch.
| const PxU8* PxContactStreamIterator::patchEnd |
Pointer to the end of the patch.
| const PxU8* PxContactStreamIterator::patchStart |
Pointer to the start of the patch.
| PxU32 PxContactStreamIterator::streamSize |
Size of the stream in bytes.
| PxVec3 PxContactStreamIterator::zero |
Utility zero vector to optimize functions returning zero vectors when a certain flag isn't set.