# Class EdgeShape

java.lang.Object
com.codename1.gaming.physics.box2d.collision.shapes.Shape
com.codename1.gaming.physics.box2d.collision.shapes.EdgeShape

public class EdgeShape extends Shape
A line segment (edge) shape. These can be connected in chains or loops to other edge shapes. The connectivity information is used to ensure correct contact normals.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `boolean`
  `m_hasVertex0`
  `boolean`
  `m_hasVertex3`
  `final Vec2`
  `m_vertex0`
  optional adjacent vertex 1.
  `final Vec2`
  `m_vertex1`
  edge vertex 1
  `final Vec2`
  `m_vertex2`
  edge vertex 2
  `final Vec2`
  `m_vertex3`
  optional adjacent vertex 2.

  ### Fields inherited from class Shape

  `m_radius, m_type`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EdgeShape()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Shape`
  `clone()`
  `void`
  `computeAABB(AABB aabb, Transform xf, int childIndex)`
  Given a transform, compute the associated axis aligned bounding box for a child shape.
  `void`
  `computeMass(MassData massData, float density)`
  Compute the mass properties of this shape using its dimensions and density.
  `int`
  `getChildCount()`
  Get the number of child primitives
  `boolean`
  `raycast(RayCastOutput output, RayCastInput input, Transform xf, int childIndex)`
  Cast a ray against a child shape.
  `void`
  `set(Vec2 v1, Vec2 v2)`
  `boolean`
  `testPoint(Transform xf, Vec2 p)`
  Test a point for containment in this shape.

  ### Methods inherited from class Shape

  `getRadius, getType, setRadius`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### m_vertex1

    public final Vec2 m_vertex1
    edge vertex 1

  - ### m_vertex2

    public final Vec2 m_vertex2
    edge vertex 2

  - ### m_vertex0

    public final Vec2 m_vertex0
    optional adjacent vertex 1. Used for smooth collision

  - ### m_vertex3

    public final Vec2 m_vertex3
    optional adjacent vertex 2. Used for smooth collision

  - ### m_hasVertex0

    public boolean m_hasVertex0

  - ### m_hasVertex3

    public boolean m_hasVertex3

- ## Constructor Details

  - ### EdgeShape

    public EdgeShape()

- ## Method Details

  - ### getChildCount

    public int getChildCount()
    Description copied from class: `Shape`
    Get the number of child primitives
    Specified by:
      `getChildCount` in class `Shape`
    Returns:

  - ### set

    public void set(Vec2 v1, Vec2 v2)

  - ### testPoint

    public boolean testPoint(Transform xf, Vec2 p)
    Description copied from class: `Shape`
    Test a point for containment in this shape. This only works for convex shapes.
    Specified by:
      `testPoint` in class `Shape`
    Parameters:
      `xf` - the shape world transform.
      `p` - a point in world coordinates.

  - ### raycast

    public boolean raycast(RayCastOutput output, RayCastInput input, Transform xf, int childIndex)
    Description copied from class: `Shape`
    Cast a ray against a child shape.
    Specified by:
      `raycast` in class `Shape`
    Returns:
      if hit

  - ### computeAABB

    public void computeAABB(AABB aabb, Transform xf, int childIndex)
    Description copied from class: `Shape`
    Given a transform, compute the associated axis aligned bounding box for a child shape.
    Specified by:
      `computeAABB` in class `Shape`

  - ### computeMass

    public void computeMass(MassData massData, float density)
    Description copied from class: `Shape`
    Compute the mass properties of this shape using its dimensions and density. The inertia tensor is computed about the local origin.
    Specified by:
      `computeMass` in class `Shape`
    Parameters:
      `massData` - returns the mass data for this shape.
      `density` - the density in kilograms per meter squared.

  - ### clone

    public Shape clone()
    Specified by:
      `clone` in class `Shape`