ID of a body. This is a way of reasoning about bodies in a multithreaded simulation while avoiding ra...
Definition BodyID.h:13
bool IsInvalid() const
Check if the ID is valid.
Definition BodyID.h:65
Base class interface for locking a body. Usually you will use BodyLockRead / BodyLockWrite / BodyLock...
Definition BodyLockInterface.h:17
BodyManager::MutexMask MutexMask
Redefine MutexMask.
Definition BodyLockInterface.h:20
virtual SharedMutex * LockRead(const BodyID &inBodyID) const =0
virtual SharedMutex * LockWrite(const BodyID &inBodyID) const =0
BodyType * GetBody(int inBodyIndex) const
Access the body (returns null if body was not properly locked).
Definition BodyLockMulti.h:65
~BodyLockMultiBase()
Destructor will unlock the bodies.
Definition BodyLockMulti.h:53
BodyLockMultiBase(const BodyLockInterface &inBodyLockInterface, const BodyID *inBodyIDs, int inNumber)
Constructor will lock the bodies.
Definition BodyLockMulti.h:20
int GetNumBodies() const
Returns the number of bodies that were locked.
Definition BodyLockMulti.h:59
void ReleaseLocks()
Explicitly release the locks on all bodies (normally this is done in the destructor).
Definition BodyLockMulti.h:37
BodyLockInterface::MutexMask MutexMask
Redefine MutexMask.
Definition BodyLockMulti.h:17
Definition BodyLockMulti.h:110
Specialization that locks multiple bodies for writing to.
Definition BodyLockMulti.h:116