RavEngine
Loading...
Searching...
No Matches
physx::Sc::ContactStreamManager Class Reference

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
 

Detailed Description

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)


The documentation for this class was generated from the following file: