C# Class Project290.Physics.Collision.Manifold

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: -ShapeType.Circles: the local center of circleA -SeparationFunction.FaceA: the center of faceA -SeparationFunction.FaceB: the center of faceB Similarly the local normal usage: -ShapeType.Circles: not used -SeparationFunction.FaceA: the normal on polygonA -SeparationFunction.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.
Show file Open project: scastle/Solitude Class Usage Examples

Public Properties

Property Type Description
LocalNormal Vector2
LocalPoint Vector2
PointCount int
Points FixedArray2
Type ManifoldType

Property Details

LocalNormal public property

Not use for Type.SeparationFunction.Points
public Vector2 LocalNormal
return Vector2

LocalPoint public property

Usage depends on manifold type
public Vector2 LocalPoint
return Vector2

PointCount public property

The number of manifold points
public int PointCount
return int

Points public property

The points of contact
public FixedArray2 Points
return FixedArray2

Type public property

public ManifoldType Type
return ManifoldType