Bullet Collision Detection & Physics Library
|
SimulationIslandManagerMt – Multithread capable version of SimulationIslandManager Splits the world up into islands which can be solved in parallel. More...
#include <btSimulationIslandManagerMt.h>
Classes | |
struct | Island |
struct | SolverParams |
Public Types | |
typedef void(* | IslandDispatchFunc) (btAlignedObjectArray< Island * > *islands, const SolverParams &solverParams) |
Static Public Member Functions | |
static void | solveIsland (btConstraintSolver *solver, Island &island, const SolverParams &solverParams) |
static void | serialIslandDispatch (btAlignedObjectArray< Island * > *islandsPtr, const SolverParams &solverParams) |
static void | parallelIslandDispatch (btAlignedObjectArray< Island * > *islandsPtr, const SolverParams &solverParams) |
Protected Member Functions | |
Island * | getIsland (int id) |
virtual Island * | allocateIsland (int id, int numBodies) |
virtual void | initIslandPools () |
virtual void | addBodiesToIslands (btCollisionWorld *collisionWorld) |
virtual void | addManifoldsToIslands (btDispatcher *dispatcher) |
virtual void | addConstraintsToIslands (btAlignedObjectArray< btTypedConstraint * > &constraints) |
virtual void | mergeIslands () |
Protected Attributes | |
btAlignedObjectArray< Island * > | m_allocatedIslands |
btAlignedObjectArray< Island * > | m_activeIslands |
btAlignedObjectArray< Island * > | m_freeIslands |
btAlignedObjectArray< Island * > | m_lookupIslandFromId |
Island * | m_batchIsland |
int | m_minimumSolverBatchSize |
int | m_batchIslandMinBodyCount |
IslandDispatchFunc | m_islandDispatch |
SimulationIslandManagerMt – Multithread capable version of SimulationIslandManager Splits the world up into islands which can be solved in parallel.
In order to solve islands in parallel, an IslandDispatch function must be provided which will dispatch calls to multiple threads. The amount of parallelism that can be achieved depends on the number of islands. If only a single island exists, then no parallelism is possible.
Definition at line 35 of file btSimulationIslandManagerMt.h.
typedef void(* btSimulationIslandManagerMt::IslandDispatchFunc) (btAlignedObjectArray< Island * > *islands, const SolverParams &solverParams) |
Definition at line 60 of file btSimulationIslandManagerMt.h.
btSimulationIslandManagerMt::btSimulationIslandManagerMt | ( | ) |
Definition at line 41 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 49 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 360 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 446 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 405 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 191 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 623 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 262 of file btSimulationIslandManagerMt.cpp.
|
protected |
Definition at line 172 of file btSimulationIslandManagerMt.cpp.
|
inline |
Definition at line 101 of file btSimulationIslandManagerMt.h.
|
inline |
Definition at line 93 of file btSimulationIslandManagerMt.h.
|
protectedvirtual |
Definition at line 128 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 465 of file btSimulationIslandManagerMt.cpp.
|
static |
Definition at line 574 of file btSimulationIslandManagerMt.cpp.
|
static |
Definition at line 541 of file btSimulationIslandManagerMt.cpp.
|
inline |
Definition at line 106 of file btSimulationIslandManagerMt.h.
|
inline |
Definition at line 97 of file btSimulationIslandManagerMt.h.
|
static |
Definition at line 526 of file btSimulationIslandManagerMt.cpp.
|
protected |
Definition at line 66 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 65 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 69 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 71 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 67 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 72 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 68 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 70 of file btSimulationIslandManagerMt.h.