org.jbox2d.collision.shapes
Class EdgeShape

java.lang.Object
  extended by org.jbox2d.collision.shapes.Shape
      extended by 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

Field Summary
 boolean m_hasVertex0
           
 boolean m_hasVertex3
           
 Vec2 m_vertex0
          optional adjacent vertex 1.
 Vec2 m_vertex1
          edge vertex 1
 Vec2 m_vertex2
          edge vertex 2
 Vec2 m_vertex3
          optional adjacent vertex 2.
 
Fields inherited from class org.jbox2d.collision.shapes.Shape
m_radius, m_type
 
Constructor Summary
EdgeShape()
           
 
Method Summary
 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 org.jbox2d.collision.shapes.Shape
getRadius, getType, setRadius
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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 Detail

EdgeShape

public EdgeShape()
Method Detail

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


Copyright © 2013. All Rights Reserved.