Bullet Collision Detection & Physics Library: btThreads.cpp File Reference

Bullet Collision Detection & Physics Library

Classes | Macros | Functions | Variables
btThreads.cpp File Reference
`#include "btThreads.h"`
`#include "btQuickprof.h"`
`#include <algorithm>`
Include dependency graph for btThreads.cpp:

Go to the source code of this file.

## Classes
struct | ThreadsafeCounter
class | btTaskSchedulerSequential
| btTaskSchedulerSequential – non-threaded implementation of task scheduler (really just useful for testing performance of single threaded vs multi) More...

## Macros
#define | THREAD_LOCAL_STATIC static
#define | BT_DETECT_BAD_THREAD_INDEX 0

## Functions
unsigned int | btGetCurrentThreadIndex ()
bool | btIsMainThread ()
void | btResetThreadIndexCounter ()
void | btPushThreadsAreRunning ()
void | btPopThreadsAreRunning ()
bool | btThreadsAreRunning ()
void | btSetTaskScheduler (btITaskScheduler *ts)
btITaskScheduler * | btGetTaskScheduler ()
void | btParallelFor (int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)
btITaskScheduler * | btGetSequentialTaskScheduler ()
btITaskScheduler * | btGetOpenMPTaskScheduler ()
btITaskScheduler * | btGetTBBTaskScheduler ()
btITaskScheduler * | btGetPPLTaskScheduler ()

## Variables
static btITaskScheduler * | gBtTaskScheduler
static int | gThreadsRunningCounter = 0
static btSpinMutex | gThreadsRunningCounterMutex
static ThreadsafeCounter | gThreadCounter

## Macro Definition Documentation

## ◆ BT_DETECT_BAD_THREAD_INDEX

#define BT_DETECT_BAD_THREAD_INDEX 0

Definition at line 287 of file btThreads.cpp.

## ◆ THREAD_LOCAL_STATIC

#define THREAD_LOCAL_STATIC static

Definition at line 222 of file btThreads.cpp.

## 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.

## ◆ btParallelFor()

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

Definition at line 429 of file btThreads.cpp.

## ◆ btPopThreadsAreRunning()

void btPopThreadsAreRunning | ( |  | ) |

Definition at line 388 of file btThreads.cpp.

## ◆ btPushThreadsAreRunning()

void btPushThreadsAreRunning | ( |  | ) |

Definition at line 381 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

## ◆ gBtTaskScheduler

btITaskScheduler* gBtTaskScheduler
| static

Definition at line 256 of file btThreads.cpp.

## ◆ gThreadCounter

ThreadsafeCounter gThreadCounter
| static

Definition at line 259 of file btThreads.cpp.

## ◆ gThreadsRunningCounter

int gThreadsRunningCounter = 0
| static

Definition at line 257 of file btThreads.cpp.

## ◆ gThreadsRunningCounterMutex

btSpinMutex gThreadsRunningCounterMutex
| static

Definition at line 258 of file btThreads.cpp.