ManifoldPoint class

A manifold point is a contact point belonging to a contact manifold. It holds details related to the geometry and dynamics of the contact points. The local point usage depends on the manifold type:

  • e_circles: the local center of circleB
  • e_faceA: the local center of cirlceB or the clip point of polygonB
  • e_faceB: the clip point of polygonA
This structure is stored across time steps, so we keep it small.
Note: the impulses are used for internal caching and may not provide reliable contact forces, especially for high speed collisions.


Blank manifold point with everything zeroed out.
ManifoldPoint.copy(ManifoldPoint cp)
Creates a manifold point as a copy of the given point @param cp point to copy from


hashCode int
The hash code for this object. [...]
read-only, inherited
id ContactID
uniquely identifies a contact point between two shapes
localPoint Vector2
usage depends on manifold type
normalImpulse double
the non-penetration impulse
read / write
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
tangentImpulse double
the friction impulse
read / write


noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
set(ManifoldPoint cp) → void
Sets this manifold point form the given one @param cp the point to copy from
toString() String
A string representation of this object. [...]


operator ==(Object other) bool
The equality operator. [...]