14 #ifndef PX_SIMULATION_EVENT_CALLBACK
15 #define PX_SIMULATION_EVENT_CALLBACK
167 : currPtr(stream), endPtr(stream + size), contactPairIndex(0)
194 bool foundEntry =
false;
195 bool endOfItemSet =
false;
196 while ((currPtr < endPtr) && (!endOfItemSet))
255 preSolverVelocity =
NULL;
256 postSolverVelocity =
NULL;
310 eREMOVED_ACTOR_0 = (1<<0),
311 eREMOVED_ACTOR_1 = (1<<1),
386 eREMOVED_SHAPE_0 = (1<<0),
391 eREMOVED_SHAPE_1 = (1<<1),
410 eACTOR_PAIR_HAS_FIRST_TOUCH = (1<<2),
417 eACTOR_PAIR_LOST_TOUCH = (1<<3),
424 eINTERNAL_HAS_FACE_INDICES = (1<<4),
432 eINTERNAL_HAS_IMPULSES = (1<<5),
439 eINTERNAL_CONTACTS_ARE_FLIPPED = (1<<6)
598 const PxU8* stream = contactStream;
600 PxU32 nbContacts = 0;
602 if(contactCount && bufferSize)
606 stream += ((contactStreamSize + 15) & ~15);
608 const PxReal* impulses =
reinterpret_cast<const PxReal*
>(stream);
624 if (!flippedContacts)
637 PxReal impulse = impulses[nbContacts];
643 if(nbContacts == bufferSize)
662 PxMemCopy(bufferMemory, contactStream, requiredBufferSize);
675 eREMOVED_SHAPE_TRIGGER = (1<<0),
676 eREMOVED_SHAPE_OTHER = (1<<1),
801 virtual void onSleep(
PxActor** actors,
PxU32 count) = 0;