Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
BodyLockInterfaceLocking Class Referencefinal

Implementation that uses the body manager to lock the correct mutex for a body. More...

#include <BodyLockInterface.h>

Inheritance diagram for BodyLockInterfaceLocking:
BodyLockInterface NonCopyable

Public Member Functions

 BodyLockInterface (BodyManager &inBodyManager)
 Constructor. More...
 
Locking functions
virtual SharedMutexLockRead (const BodyID &inBodyID) const override
 
virtual void UnlockRead (SharedMutex *inMutex) const override
 
virtual SharedMutexLockWrite (const BodyID &inBodyID) const override
 
virtual void UnlockWrite (SharedMutex *inMutex) const override
 
Batch locking functions
virtual MutexMask GetMutexMask (const BodyID *inBodies, int inNumber) const override
 
virtual void LockRead (MutexMask inMutexMask) const override
 
virtual void UnlockRead (MutexMask inMutexMask) const override
 
virtual void LockWrite (MutexMask inMutexMask) const override
 
virtual void UnlockWrite (MutexMask inMutexMask) const override
 
- Public Member Functions inherited from BodyLockInterface
 BodyLockInterface (BodyManager &inBodyManager)
 Constructor. More...
 
virtual ~BodyLockInterface ()=default
 
MutexMask GetAllBodiesMutexMask () const
 Get the mask needed to lock all bodies. More...
 
BodyTryGetBody (const BodyID &inBodyID) const
 Convert body ID to body. More...
 
- Public Member Functions inherited from NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
void operator= (const NonCopyable &)=delete
 

Additional Inherited Members

- Public Types inherited from BodyLockInterface
using MutexMask = BodyManager::MutexMask
 Redefine MutexMask. More...
 
- Protected Attributes inherited from BodyLockInterface
BodyManagermBodyManager
 

Detailed Description

Implementation that uses the body manager to lock the correct mutex for a body.

Member Function Documentation

◆ BodyLockInterface()

BodyLockInterface::BodyLockInterface ( BodyManager inBodyManager)
inlineexplicit

Constructor.

◆ GetMutexMask()

virtual MutexMask BodyLockInterfaceLocking::GetMutexMask ( const BodyID inBodies,
int  inNumber 
) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ LockRead() [1/2]

virtual SharedMutex * BodyLockInterfaceLocking::LockRead ( const BodyID inBodyID) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ LockRead() [2/2]

virtual void BodyLockInterfaceLocking::LockRead ( MutexMask  inMutexMask) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ LockWrite() [1/2]

virtual SharedMutex * BodyLockInterfaceLocking::LockWrite ( const BodyID inBodyID) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ LockWrite() [2/2]

virtual void BodyLockInterfaceLocking::LockWrite ( MutexMask  inMutexMask) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ UnlockRead() [1/2]

virtual void BodyLockInterfaceLocking::UnlockRead ( MutexMask  inMutexMask) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ UnlockRead() [2/2]

virtual void BodyLockInterfaceLocking::UnlockRead ( SharedMutex inMutex) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ UnlockWrite() [1/2]

virtual void BodyLockInterfaceLocking::UnlockWrite ( MutexMask  inMutexMask) const
inlineoverridevirtual

Implements BodyLockInterface.

◆ UnlockWrite() [2/2]

virtual void BodyLockInterfaceLocking::UnlockWrite ( SharedMutex inMutex) const
inlineoverridevirtual

Implements BodyLockInterface.


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