22 #include <Box2D/Common/b2Math.h>
23 #include <Box2D/Dynamics/b2Body.h>
24 #include <Box2D/Dynamics/b2TimeStep.h>
30 struct b2ContactVelocityConstraint;
37 b2Island(int32 bodyCapacity, int32 contactCapacity, int32 jointCapacity,
48 void Solve(
b2Profile* profile,
const b2TimeStep& step,
const b2Vec2& gravity,
bool allowSleep);
50 void SolveTOI(
const b2TimeStep& subStep, int32 toiIndexA, int32 toiIndexB);
54 b2Assert(m_bodyCount < m_bodyCapacity);
55 body->m_islandIndex = m_bodyCount;
56 m_bodies[m_bodyCount] = body;
62 b2Assert(m_contactCount < m_contactCapacity);
63 m_contacts[m_contactCount++] = contact;
68 b2Assert(m_jointCount < m_jointCapacity);
69 m_joints[m_jointCount++] = joint;
72 void Report(
const b2ContactVelocityConstraint* constraints);
81 b2Position* m_positions;
82 b2Velocity* m_velocities;
89 int32 m_contactCapacity;
90 int32 m_jointCapacity;