# Class ManifoldPoint

java.lang.Object
com.codename1.gaming.physics.box2d.collision.ManifoldPoint

public class ManifoldPoint extends Object

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.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `final ContactID`
  `id`
  uniquely identifies a contact point between two shapes
  `final Vec2`
  `localPoint`
  usage depends on manifold type
  `float`
  `normalImpulse`
  the non-penetration impulse
  `float`
  `tangentImpulse`
  the friction impulse

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ManifoldPoint()`
  Blank manifold point with everything zeroed out.
  `ManifoldPoint(ManifoldPoint cp)`
  Creates a manifold point as a copy of the given point

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `set(ManifoldPoint cp)`
  Sets this manifold point form the given one

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### localPoint

    public final Vec2 localPoint
    usage depends on manifold type

  - ### normalImpulse

    public float normalImpulse
    the non-penetration impulse

  - ### tangentImpulse

    public float tangentImpulse
    the friction impulse

  - ### id

    public final ContactID id
    uniquely identifies a contact point between two shapes

- ## Constructor Details

  - ### ManifoldPoint

    public ManifoldPoint()
    Blank manifold point with everything zeroed out.

  - ### ManifoldPoint

    public ManifoldPoint(ManifoldPoint cp)
    Creates a manifold point as a copy of the given point
    Parameters:
      `cp` - point to copy from

- ## Method Details

  - ### set

    public void set(ManifoldPoint cp)
    Sets this manifold point form the given one
    Parameters:
      `cp` - the point to copy from