Bullet Collision Detection & Physics Library
Classes | Macros | Functions | Variables
btThreads.h File Reference
#include "btScalar.h"
Include dependency graph for btThreads.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  btSpinMutex
 btSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep because it is designed to be used with a task scheduler which has one thread per core and the threads don't sleep until they run out of tasks. More...
 
class  btIParallelForBody
 
class  btITaskScheduler
 

Macros

#define BT_OVERRIDE
 

Functions

bool btIsMainThread ()
 
bool btThreadsAreRunning ()
 
unsigned int btGetCurrentThreadIndex ()
 
void btResetThreadIndexCounter ()
 
void btMutexLock (btSpinMutex *mutex)
 
void btMutexUnlock (btSpinMutex *mutex)
 
bool btMutexTryLock (btSpinMutex *mutex)
 
void btSetTaskScheduler (btITaskScheduler *ts)
 
btITaskSchedulerbtGetTaskScheduler ()
 
btITaskSchedulerbtGetSequentialTaskScheduler ()
 
btITaskSchedulerbtGetOpenMPTaskScheduler ()
 
btITaskSchedulerbtGetTBBTaskScheduler ()
 
btITaskSchedulerbtGetPPLTaskScheduler ()
 
void btParallelFor (int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)
 

Variables

const unsigned int BT_MAX_THREAD_COUNT = 64
 

Macro Definition Documentation

◆ BT_OVERRIDE

#define BT_OVERRIDE

Definition at line 28 of file btThreads.h.

Function Documentation

◆ btGetCurrentThreadIndex()

unsigned int btGetCurrentThreadIndex ( )

Definition at line 304 of file btThreads.cpp.

◆ btGetOpenMPTaskScheduler()

btITaskScheduler * btGetOpenMPTaskScheduler ( )

Definition at line 689 of file btThreads.cpp.

◆ btGetPPLTaskScheduler()

btITaskScheduler * btGetPPLTaskScheduler ( )

Definition at line 713 of file btThreads.cpp.

◆ btGetSequentialTaskScheduler()

btITaskScheduler * btGetSequentialTaskScheduler ( )

Definition at line 681 of file btThreads.cpp.

◆ btGetTaskScheduler()

btITaskScheduler * btGetTaskScheduler ( )

Definition at line 423 of file btThreads.cpp.

◆ btGetTBBTaskScheduler()

btITaskScheduler * btGetTBBTaskScheduler ( )

Definition at line 701 of file btThreads.cpp.

◆ btIsMainThread()

bool btIsMainThread ( )

Definition at line 338 of file btThreads.cpp.

◆ btMutexLock()

void btMutexLock ( btSpinMutex mutex)
inline

Definition at line 71 of file btThreads.h.

◆ btMutexTryLock()

bool btMutexTryLock ( btSpinMutex mutex)
inline

Definition at line 85 of file btThreads.h.

◆ btMutexUnlock()

void btMutexUnlock ( btSpinMutex mutex)
inline

Definition at line 78 of file btThreads.h.

◆ btParallelFor()

void btParallelFor ( int  iBegin,
int  iEnd,
int  grainSize,
const btIParallelForBody body 
)

Definition at line 429 of file btThreads.cpp.

◆ btResetThreadIndexCounter()

void btResetThreadIndexCounter ( )

Definition at line 343 of file btThreads.cpp.

◆ btSetTaskScheduler()

void btSetTaskScheduler ( btITaskScheduler ts)

Definition at line 401 of file btThreads.cpp.

◆ btThreadsAreRunning()

bool btThreadsAreRunning ( )

Definition at line 395 of file btThreads.cpp.

Variable Documentation

◆ BT_MAX_THREAD_COUNT

const unsigned int BT_MAX_THREAD_COUNT = 64

Definition at line 31 of file btThreads.h.