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 362 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 448 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 407 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 193 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 625 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 264 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 467 of file btSimulationIslandManagerMt.cpp.
|
static |
Definition at line 576 of file btSimulationIslandManagerMt.cpp.
|
static |
Definition at line 543 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 528 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.