Class EdgeShape

java.lang.Object
org.jbox2d.collision.shapes.Shape
org.jbox2d.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.
Author:
Daniel Murphy
Repolink:
Github: erincatto/box2d src/collision/b2_edge_shape.cpp
  • Field Details

    • vertex1

      public final Vec2 vertex1
      edge vertex 1
    • vertex2

      public final Vec2 vertex2
      edge vertex 2
    • vertex0

      public final Vec2 vertex0
      optional adjacent vertex 1. Used for smooth collision
    • vertex3

      public final Vec2 vertex3
      optional adjacent vertex 2. Used for smooth collision
    • hasVertex0

      public boolean hasVertex0
    • hasVertex3

      public boolean 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
    • 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.
    • computeDistanceToOut

      public float computeDistanceToOut(Transform xf, Vec2 p, int childIndex, Vec2 normalOut)
      Description copied from class: Shape
      Compute the distance from the current shape to the specified point. This only works for convex shapes.
      Specified by:
      computeDistanceToOut in class Shape
      Parameters:
      xf - The shape world transform.
      p - A point in world coordinates.
      normalOut - Returns the direction in which the distance increases.
      Returns:
      distance returns the distance from the current shape.
    • 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
      Parameters:
      output - The ray-cast results.
      input - The ray-cast input parameters.
      xf - The transform to be applied to the shape.
      childIndex - The child shape index
      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
      Parameters:
      aabb - Returns the axis aligned box.
      xf - The world transform of the 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