16#ifndef BT_SIMULATION_ISLAND_MANAGER_MT_H
17#define BT_SIMULATION_ISLAND_MANAGER_MT_H
The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It...
btCollisionObject can be used to manage collision detection objects.
CollisionWorld is interface and container for the collision detection.
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
SimulationIslandManagerMt – Multithread capable version of SimulationIslandManager Splits the world u...
btAlignedObjectArray< Island * > m_allocatedIslands
virtual void addBodiesToIslands(btCollisionWorld *collisionWorld)
static void parallelIslandDispatch(btAlignedObjectArray< Island * > *islandsPtr, IslandCallback *callback)
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)
virtual void buildAndProcessIslands(btDispatcher *dispatcher, btCollisionWorld *collisionWorld, btAlignedObjectArray< btTypedConstraint * > &constraints, IslandCallback *callback)
IslandDispatchFunc m_islandDispatch
btAlignedObjectArray< Island * > m_activeIslands
void(* IslandDispatchFunc)(btAlignedObjectArray< Island * > *islands, IslandCallback *callback)
void setMinimumSolverBatchSize(int sz)
btSimulationIslandManagerMt()
static void serialIslandDispatch(btAlignedObjectArray< Island * > *islandsPtr, IslandCallback *callback)
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.
virtual ~IslandCallback()
virtual void processIsland(btCollisionObject **bodies, int numBodies, btPersistentManifold **manifolds, int numManifolds, btTypedConstraint **constraints, int numConstraints, int islandId)=0
btAlignedObjectArray< btTypedConstraint * > constraintArray
void append(const Island &other)
btAlignedObjectArray< btCollisionObject * > bodyArray
btAlignedObjectArray< btPersistentManifold * > manifoldArray