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

Implementation that performs no locking (assumes the lock has already been taken) More...

#include <BodyLockInterface.h>

Inheritance diagram for BodyLockInterfaceNoLock:
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 performs no locking (assumes the lock has already been taken)

Member Function Documentation

◆ BodyLockInterface()

BodyLockInterface::BodyLockInterface ( BodyManager inBodyManager)
inlineexplicit

Constructor.

◆ GetMutexMask()

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

Implements BodyLockInterface.

◆ LockRead() [1/2]

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

Implements BodyLockInterface.

◆ LockRead() [2/2]

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

Implements BodyLockInterface.

◆ LockWrite() [1/2]

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

Implements BodyLockInterface.

◆ LockWrite() [2/2]

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

Implements BodyLockInterface.

◆ UnlockRead() [1/2]

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

Implements BodyLockInterface.

◆ UnlockRead() [2/2]

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

Implements BodyLockInterface.

◆ UnlockWrite() [1/2]

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

Implements BodyLockInterface.

◆ UnlockWrite() [2/2]

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

Implements BodyLockInterface.


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