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