16 #ifndef BT_SIMULATION_ISLAND_MANAGER_MT_H 17 #define BT_SIMULATION_ISLAND_MANAGER_MT_H 109 #endif //BT_SIMULATION_ISLAND_MANAGER_H virtual Island * allocateIsland(int id, int numBodies)
virtual void initIslandPools()
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
void setIslandDispatchFunction(IslandDispatchFunc func)
Island * getIsland(int id)
btAlignedObjectArray< btPersistentManifold * > manifoldArray
btAlignedObjectArray< Island * > m_freeIslands
void append(const Island &other)
btAlignedObjectArray< Island * > m_lookupIslandFromId
virtual void processIsland(btCollisionObject **bodies, int numBodies, btPersistentManifold **manifolds, int numManifolds, btTypedConstraint **constraints, int numConstraints, int islandId)=0
SimulationIslandManager creates and handles simulation islands, using btUnionFind.
virtual void addBodiesToIslands(btCollisionWorld *collisionWorld)
virtual ~btSimulationIslandManagerMt()
virtual void buildAndProcessIslands(btDispatcher *dispatcher, btCollisionWorld *collisionWorld, btAlignedObjectArray< btTypedConstraint * > &constraints, IslandCallback *callback)
virtual ~IslandCallback()
void(* IslandDispatchFunc)(btAlignedObjectArray< Island * > *islands, IslandCallback *callback)
btAlignedObjectArray< Island * > m_activeIslands
int m_minimumSolverBatchSize
btAlignedObjectArray< Island * > m_allocatedIslands
int getMinimumSolverBatchSize() const
btCollisionObject can be used to manage collision detection objects.
int m_batchIslandMinBodyCount
btAlignedObjectArray< btTypedConstraint * > constraintArray
static void serialIslandDispatch(btAlignedObjectArray< Island * > *islandsPtr, IslandCallback *callback)
virtual void addConstraintsToIslands(btAlignedObjectArray< btTypedConstraint * > &constraints)
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
static void parallelIslandDispatch(btAlignedObjectArray< Island * > *islandsPtr, IslandCallback *callback)
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
IslandDispatchFunc getIslandDispatchFunction() const
virtual void addManifoldsToIslands(btDispatcher *dispatcher)
SimulationIslandManagerMt – Multithread capable version of SimulationIslandManager Splits the world...