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 45 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 54 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 376 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 466 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 423 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 204 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 649 of file btSimulationIslandManagerMt.cpp.
|
virtual |
Definition at line 276 of file btSimulationIslandManagerMt.cpp.
|
protected |
Definition at line 184 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 139 of file btSimulationIslandManagerMt.cpp.
|
protectedvirtual |
Definition at line 486 of file btSimulationIslandManagerMt.cpp.
|
static |
Definition at line 599 of file btSimulationIslandManagerMt.cpp.
|
static |
Definition at line 565 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 548 of file btSimulationIslandManagerMt.cpp.
|
protected |
Definition at line 65 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 64 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 68 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 70 of file btSimulationIslandManagerMt.h.
|
protected |
Definition at line 66 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 69 of file btSimulationIslandManagerMt.h.