|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jbox2d.collision.Collision
public class Collision
Functions used for computing contact points, distance queries, and TOI queries. Collision methods
are non-static for pooling speed, retrieve a collision object from the SingletonPool
.
Should not be finalructed.
Nested Class Summary | |
---|---|
static class |
Collision.ClipVertex
Used for computing contact manifolds. |
static class |
Collision.PointState
This is used for determining the state of contact points. |
Field Summary | |
---|---|
static int |
NULL_FEATURE
|
Constructor Summary | |
---|---|
Collision(IWorldPool argPool)
|
Method Summary | |
---|---|
static int |
clipSegmentToLine(Collision.ClipVertex[] vOut,
Collision.ClipVertex[] vIn,
Vec2 normal,
float offset,
int vertexIndexA)
Clipping for contact manifolds. |
void |
collideCircles(Manifold manifold,
CircleShape circle1,
Transform xfA,
CircleShape circle2,
Transform xfB)
Compute the collision manifold between two circles. |
void |
collideEdgeAndCircle(Manifold manifold,
EdgeShape edgeA,
Transform xfA,
CircleShape circleB,
Transform xfB)
|
void |
collideEdgeAndPolygon(Manifold manifold,
EdgeShape edgeA,
Transform xfA,
PolygonShape polygonB,
Transform xfB)
|
void |
collidePolygonAndCircle(Manifold manifold,
PolygonShape polygon,
Transform xfA,
CircleShape circle,
Transform xfB)
Compute the collision manifold between a polygon and a circle. |
void |
collidePolygons(Manifold manifold,
PolygonShape polyA,
Transform xfA,
PolygonShape polyB,
Transform xfB)
Compute the collision manifold between two polygons. |
float |
edgeSeparation(PolygonShape poly1,
Transform xf1,
int edge1,
PolygonShape poly2,
Transform xf2)
Find the separation between poly1 and poly2 for a given edge normal on poly1. |
void |
findIncidentEdge(Collision.ClipVertex[] c,
PolygonShape poly1,
Transform xf1,
int edge1,
PolygonShape poly2,
Transform xf2)
|
void |
findMaxSeparation(org.jbox2d.collision.Collision.EdgeResults results,
PolygonShape poly1,
Transform xf1,
PolygonShape poly2,
Transform xf2)
Find the max separation between poly1 and poly2 using edge normals from poly1. |
static void |
getPointStates(Collision.PointState[] state1,
Collision.PointState[] state2,
Manifold manifold1,
Manifold manifold2)
Compute the point states given two manifolds. |
boolean |
testOverlap(Shape shapeA,
int indexA,
Shape shapeB,
int indexB,
Transform xfA,
Transform xfB)
Determine if two generic shapes overlap. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int NULL_FEATURE
Constructor Detail |
---|
public Collision(IWorldPool argPool)
Method Detail |
---|
public final boolean testOverlap(Shape shapeA, int indexA, Shape shapeB, int indexB, Transform xfA, Transform xfB)
shapeA
- shapeB
- xfA
- xfB
-
public static final void getPointStates(Collision.PointState[] state1, Collision.PointState[] state2, Manifold manifold1, Manifold manifold2)
state1
- state2
- manifold1
- manifold2
- public static final int clipSegmentToLine(Collision.ClipVertex[] vOut, Collision.ClipVertex[] vIn, Vec2 normal, float offset, int vertexIndexA)
vOut
- vIn
- normal
- offset
-
public final void collideCircles(Manifold manifold, CircleShape circle1, Transform xfA, CircleShape circle2, Transform xfB)
manifold
- circle1
- xfA
- circle2
- xfB
- public final void collidePolygonAndCircle(Manifold manifold, PolygonShape polygon, Transform xfA, CircleShape circle, Transform xfB)
manifold
- polygon
- xfA
- circle
- xfB
- public final float edgeSeparation(PolygonShape poly1, Transform xf1, int edge1, PolygonShape poly2, Transform xf2)
poly1
- xf1
- edge1
- poly2
- xf2
- public final void findMaxSeparation(org.jbox2d.collision.Collision.EdgeResults results, PolygonShape poly1, Transform xf1, PolygonShape poly2, Transform xf2)
edgeIndex
- poly1
- xf1
- poly2
- xf2
- public final void findIncidentEdge(Collision.ClipVertex[] c, PolygonShape poly1, Transform xf1, int edge1, PolygonShape poly2, Transform xf2)
public final void collidePolygons(Manifold manifold, PolygonShape polyA, Transform xfA, PolygonShape polyB, Transform xfB)
manifold
- polygon1
- xf1
- polygon2
- xf2
- public void collideEdgeAndCircle(Manifold manifold, EdgeShape edgeA, Transform xfA, CircleShape circleB, Transform xfB)
public void collideEdgeAndPolygon(Manifold manifold, EdgeShape edgeA, Transform xfA, PolygonShape polygonB, Transform xfB)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |