Table of Contents

Struct Manifold

Namespace
Alis.Core.Physic.Collision
Assembly
Alis.dll

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.
public struct Manifold

Inherited Members

Fields

LocalNormal

Not use for Type.SeparationFunction.Points

public Vector2 LocalNormal

Field Value

Vector2

LocalPoint

Usage depends on manifold type

public Vector2 LocalPoint

Field Value

Vector2

PointCount

The number of manifold points

public int PointCount

Field Value

int

Points

The points of contact

public FixedArray2<ManifoldPoint> Points

Field Value

FixedArray2<ManifoldPoint>

Type

The type

public ManifoldType Type

Field Value

ManifoldType