|
RavEngine
|
Contact report logic and data management. More...
#include <ScContactStream.h>
Public Member Functions | |
| PX_FORCE_INLINE void | reset () |
| PX_FORCE_INLINE PxU16 | getFlags () const |
| PX_FORCE_INLINE void | raiseFlags (PxU16 flags) |
| PX_FORCE_INLINE void | clearFlags (PxU16 flags) |
| PX_FORCE_INLINE PxU32 | getMaxExtraDataSize () const |
| PX_FORCE_INLINE void | setMaxExtraDataSize (PxU32 size) |
| PX_FORCE_INLINE Sc::ContactShapePair * | getShapePairs (PxU8 *contactReportPairData) const |
| PX_FORCE_INLINE void | fillInContactReportExtraData (PxU8 *stream, PxU32 extraDataFlags, const ActorSim &, const ActorSim &, PxU32 ccdPass, const bool useCurrentTransform, PxU32 pairIndex, PxU32 sizeOffset) |
| PX_FORCE_INLINE void | setContactReportPostSolverVelocity (PxU8 *stream, const ActorSim &, const ActorSim &) |
| PX_COMPILE_TIME_ASSERT (ContactStreamManagerFlag::eNEXT_FREE_FLAG==(1<< sMaxExtraDataShift)) | |
Static Public Member Functions | |
| static PX_FORCE_INLINE void | convertDeletedShapesInContactStream (ContactShapePair *, PxU32 pairCount, const ObjectIDTracker &) |
| static PX_FORCE_INLINE PxU32 | computeExtraDataBlockCount (PxU32 extraDataSize) |
| static PX_FORCE_INLINE PxU32 | computeExtraDataBlockSize (PxU32 extraDataSize) |
| static PX_FORCE_INLINE PxU16 | computeContactReportExtraDataSize (PxU32 extraDataFlags, bool addHeader) |
| static PX_FORCE_INLINE void | fillInContactReportExtraData (PxContactPairVelocity *, PxU32 index, const ActorSim &, bool isCCDPass) |
| static PX_FORCE_INLINE void | fillInContactReportExtraData (PxContactPairPose *, PxU32 index, const ActorSim &, bool isCCDPass, const bool useCurrentTransform) |
Public Attributes | |
| PxU32 | bufferIndex |
| PxU16 | maxPairCount |
| PxU16 | currentPairCount |
| PxU16 | extraDataSize |
Static Public Attributes | |
| static const PxU32 | sExtraDataBlockSizePow2 = 4 |
| static const PxU32 | sFlagMask = (ContactStreamManagerFlag::eNEXT_FREE_FLAG - 1) |
| static const PxU32 | sMaxExtraDataShift = 4 |
Contact report logic and data management.
The internal contact report stream has the following format:
ContactStreamHeader | PxContactPairIndex0 | (PxContactPairPose0, PxContactPairVelocity0) | ... | PxContactPairIndexN | (PxContactPairPoseN, PxContactPairVelocityN) | (unused memory up to maxExtraDataSize ) | PxContactPair0 | ... | PxContactPairM | (unsued pairs up to maxPairCount)