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.
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.
virtual ~BodyLockInterface ()=default
MutexMask GetAllBodiesMutexMask () const
 Get the mask needed to lock all bodies.
BodyTryGetBody (const BodyID &inBodyID) const
 Convert body ID to body.
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.
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: