16#ifndef BT_SIMULATION_ISLAND_MANAGER_MT_H
17#define BT_SIMULATION_ISLAND_MANAGER_MT_H
CollisionWorld is interface and container for the collision detection.
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
SimulationIslandManagerMt – Multithread capable version of SimulationIslandManager Splits the world u...
btAlignedObjectArray< Island * > m_allocatedIslands
virtual void addBodiesToIslands(btCollisionWorld *collisionWorld)
virtual void buildAndProcessIslands(btDispatcher *dispatcher, btCollisionWorld *collisionWorld, btAlignedObjectArray< btTypedConstraint * > &constraints, const SolverParams &solverParams)
virtual void initIslandPools()
IslandDispatchFunc getIslandDispatchFunction() const
Island * getIsland(int id)
int m_batchIslandMinBodyCount
virtual Island * allocateIsland(int id, int numBodies)
btAlignedObjectArray< Island * > m_freeIslands
virtual ~btSimulationIslandManagerMt()
btAlignedObjectArray< Island * > m_lookupIslandFromId
virtual void addManifoldsToIslands(btDispatcher *dispatcher)
int m_minimumSolverBatchSize
virtual void addConstraintsToIslands(btAlignedObjectArray< btTypedConstraint * > &constraints)
IslandDispatchFunc m_islandDispatch
void(* IslandDispatchFunc)(btAlignedObjectArray< Island * > *islands, const SolverParams &solverParams)
btAlignedObjectArray< Island * > m_activeIslands
static void parallelIslandDispatch(btAlignedObjectArray< Island * > *islandsPtr, const SolverParams &solverParams)
static void solveIsland(btConstraintSolver *solver, Island &island, const SolverParams &solverParams)
static void serialIslandDispatch(btAlignedObjectArray< Island * > *islandsPtr, const SolverParams &solverParams)
void setMinimumSolverBatchSize(int sz)
btSimulationIslandManagerMt()
virtual void mergeIslands()
virtual void buildIslands(btDispatcher *dispatcher, btCollisionWorld *colWorld)
void setIslandDispatchFunction(IslandDispatchFunc func)
int getMinimumSolverBatchSize() const
SimulationIslandManager creates and handles simulation islands, using btUnionFind.
TypedConstraint is the baseclass for Bullet constraints and vehicles.
btAlignedObjectArray< btTypedConstraint * > constraintArray
void append(const Island &other)
btAlignedObjectArray< btCollisionObject * > bodyArray
btAlignedObjectArray< btPersistentManifold * > manifoldArray
btContactSolverInfo * m_solverInfo
btDispatcher * m_dispatcher
btConstraintSolver * m_solverPool
btConstraintSolver * m_solverMt
btIDebugDraw * m_debugDrawer