A manifold for two touching convex shapes.
Box2D supports multiple types of contact:
- clip point versus plane with radius
- point versus point with radius (circles)
The local point usage depends on the manifold type:
-e_circles: the local center of circleA
-e_faceA: the center of faceA
-e_faceB: the center of faceB
Similarly the local normal usage:
-e_circles: not used
-e_faceA: the normal on polygonA
-e_faceB: the normal on polygonB
We store contacts in this way so that position correction can
account for movement, which is critical for continuous physics.
All contact scenarios must be expressed in one of these types.
This structure is stored across time steps, so we keep it small.
public var m_localPlaneNormal:b2Vec2 Not used for Type e_points
public var m_localPoint:b2Vec2 Usage depends on manifold type
public var m_pointCount:int = 0 The number of manifold points
public var m_points:Vector The points of contact
public var m_type:int
public function b2Manifold()
public function Copy():b2Manifold
Returns
public function Reset():void
public function Set(m:b2Manifold):voidParameters
public static const e_circles:int = 0x0001
public static const e_faceA:int = 0x0002
public static const e_faceB:int = 0x0004
Box2DFlash 2.1a