31 #ifndef PX_SIMULATION_EVENT_CALLBACK 32 #define PX_SIMULATION_EVENT_CALLBACK 185 : currPtr(stream), endPtr(stream + size), contactPairIndex(0)
212 bool foundEntry =
false;
213 bool endOfItemSet =
false;
214 while ((currPtr < endPtr) && (!endOfItemSet))
273 preSolverVelocity = NULL;
274 postSolverVelocity = NULL;
328 eREMOVED_ACTOR_0 = (1<<0),
329 eREMOVED_ACTOR_1 = (1<<1)
411 eREMOVED_SHAPE_0 = (1<<0),
416 eREMOVED_SHAPE_1 = (1<<1),
425 eACTOR_PAIR_HAS_FIRST_TOUCH = (1<<2),
432 eACTOR_PAIR_LOST_TOUCH = (1<<3),
440 eINTERNAL_HAS_IMPULSES = (1<<4),
447 eINTERNAL_CONTACTS_ARE_FLIPPED = (1<<5)
632 if(contactCount && bufferSize)
634 PxContactStreamIterator iter(contactPatches, contactPoints, getInternalFaceIndices(), patchCount, contactCount);
636 const PxReal* impulses = contactImpulses;
682 PxU8* patches = bufferMemory;
683 PxU8* contacts = NULL;
693 PxMemCopy(bufferMemory + ((contactStreamSize + 15) & (~15)), contactImpulses,
sizeof(
PxReal) * contactCount);
707 return reinterpret_cast<const PxU32*
>(contactImpulses + contactCount);
719 eREMOVED_SHAPE_TRIGGER = (1<<0),
720 eREMOVED_SHAPE_OTHER = (1<<1),
845 virtual void onSleep(
PxActor** actors,
PxU32 count) = 0;
Definition: GuContactBuffer.h:37
PX_INLINE PxU32 extractContacts(PxContactPairPoint *userBuffer, PxU32 bufferSize) const
Extracts the contact points from the stream and stores them in a convenient format.
Definition: PxSimulationEventCallback.h:628
PxTriggerPairFlags flags
Additional information on the pair (see PxTriggerPairFlag)
Definition: PxSimulationEventCallback.h:755
PxFlags< PxContactPairFlag::Enum, PxU16 > PxContactPairFlags
Bitfield that contains a set of raised flags defined in PxContactPairFlag.
Definition: PxSimulationEventCallback.h:456
PX_INLINE PxConstraintInfo()
Definition: PxSimulationEventCallback.h:768
PxActor is the base class for the main simulation objects in the physics SDK.
Definition: PxActor.h:154
Enum
Definition: PxFiltering.h:57
Abstract class for collision shapes.
Definition: PxShape.h:142
#define PX_FORCE_INLINE
Definition: PxPreprocessor.h:351
float PxReal
Definition: PxSimpleTypes.h:78
PX_INLINE PxConstraintInfo(PxConstraint *c, void *extRef, PxU32 t)
Definition: PxSimulationEventCallback.h:769
PX_INLINE const PxU32 * getInternalFaceIndices() const
Definition: PxSimulationEventCallback.h:705
PX_FORCE_INLINE void * PxMemCopy(void *dest, const void *src, PxU32 count)
Copies the bytes of one memory block to another. The memory blocks must not overlap.
Definition: PxMemory.h:84
Descriptor for a broken constraint.
Definition: PxSimulationEventCallback.h:766
PxRigidActor * otherActor
The actor to which otherShape is attached.
Definition: PxSimulationEventCallback.h:753
PxConstraint * constraint
The broken constraint.
Definition: PxSimulationEventCallback.h:771
void * externalReference
The external object which owns the constraint (see PxConstraintConnector::getExternalReference()) ...
Definition: PxSimulationEventCallback.h:772
PxShape * otherShape
The shape causing the trigger event.
Definition: PxSimulationEventCallback.h:752
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SD...
Definition: PxRigidActor.h:58
An interface class that the user can implement in order to receive simulation events.
Definition: PxSimulationEventCallback.h:793
PxPairFlag::Enum status
Type of trigger event (eNOTIFY_TOUCH_FOUND or eNOTIFY_TOUCH_LOST). eNOTIFY_TOUCH_PERSISTS events are ...
Definition: PxSimulationEventCallback.h:754
virtual ~PxSimulationEventCallback()
Definition: PxSimulationEventCallback.h:907
PxU16 flags
a set of Px1DConstraintFlags
Definition: PxConstraintDesc.h:110
PxU32 type
Unique type ID of the external object. Allows to cast the provided external reference to the appropri...
Definition: PxSimulationEventCallback.h:773
uint8_t PxU8
Definition: PxSimpleTypes.h:75
A plugin class for implementing constraints.
Definition: PxConstraint.h:108
Enum
Definition: PxSimulationEventCallback.h:717
Descriptor for a trigger pair.
Definition: PxSimulationEventCallback.h:746
PxShape * triggerShape
The shape that has been marked as a trigger.
Definition: PxSimulationEventCallback.h:750
PxFlags< PxContactPairHeaderFlag::Enum, PxU16 > PxContactPairHeaderFlags
Bitfield that contains a set of raised flags defined in PxContactPairHeaderFlag.
Definition: PxSimulationEventCallback.h:338
PX_INLINE void bufferContacts(PxContactPair *newPair, PxU8 *bufferMemory) const
Helper method to clone the contact pair and copy the contact data stream into a user buffer...
Definition: PxSimulationEventCallback.h:680
#define PX_ASSERT(exp)
Definition: PxAssert.h:59
PxFlags< PxTriggerPairFlag::Enum, PxU8 > PxTriggerPairFlags
Bitfield that contains a set of raised flags defined in PxTriggerPairFlag.
Definition: PxSimulationEventCallback.h:730
PxRigidBody is a base class shared between dynamic rigid body objects.
Definition: PxRigidBody.h:195
PX_INLINE PxTriggerPair()
Definition: PxSimulationEventCallback.h:748
uint16_t PxU16
Definition: PxSimpleTypes.h:73
uint32_t PxU32
Definition: Px.h:48
#define PX_INLINE
Definition: PxPreprocessor.h:336
3 Element vector class.
Definition: PxVec3.h:49
PxRigidActor * triggerActor
The actor to which triggerShape is attached.
Definition: PxSimulationEventCallback.h:751
Collection of flags providing information on trigger report pairs.
Definition: PxSimulationEventCallback.h:715