Box2D/Box2D/Collision/b2Collision.h File Reference

#include <Box2D/Common/b2Math.h>
#include <climits>

Go to the source code of this file.

Classes

union  b2ContactID
 Contact ids to facilitate warm starting. More...
struct  b2ContactID::Features
 The features that intersect to form the contact point. More...
struct  b2ManifoldPoint
struct  b2Manifold
struct  b2WorldManifold
 This is used to compute the current state of a contact manifold. More...
struct  b2ClipVertex
 Used for computing contact manifolds. More...
struct  b2RayCastInput
 Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1). More...
struct  b2RayCastOutput
struct  b2AABB
 An axis aligned bounding box. More...

Enumerations

enum  b2PointState { b2_nullState, b2_addState, b2_persistState, b2_removeState }
 

This is used for determining the state of contact points.

More...

Functions

void b2GetPointStates (b2PointState state1[b2_maxManifoldPoints], b2PointState state2[b2_maxManifoldPoints], const b2Manifold *manifold1, const b2Manifold *manifold2)
void b2CollideCircles (b2Manifold *manifold, const b2CircleShape *circle1, const b2Transform &xf1, const b2CircleShape *circle2, const b2Transform &xf2)
 Compute the collision manifold between two circles.
void b2CollidePolygonAndCircle (b2Manifold *manifold, const b2PolygonShape *polygon, const b2Transform &xf1, const b2CircleShape *circle, const b2Transform &xf2)
 Compute the collision manifold between a polygon and a circle.
void b2CollidePolygons (b2Manifold *manifold, const b2PolygonShape *polygon1, const b2Transform &xf1, const b2PolygonShape *polygon2, const b2Transform &xf2)
 Compute the collision manifold between two polygons.
int32 b2ClipSegmentToLine (b2ClipVertex vOut[2], const b2ClipVertex vIn[2], const b2Vec2 &normal, float32 offset)
 Clipping for contact manifolds.
bool b2TestOverlap (const b2Shape *shapeA, const b2Shape *shapeB, const b2Transform &xfA, const b2Transform &xfB)
 Determine if two generic shapes overlap.
bool b2TestOverlap (const b2AABB &a, const b2AABB &b)

Variables

const uint8 b2_nullFeature = UCHAR_MAX

Detailed Description

Structures and functions used for computing contact points, distance queries, and TOI queries.


Enumeration Type Documentation

This is used for determining the state of contact points.

Enumerator:
b2_nullState 

point does not exist

b2_addState 

point was added in the update

b2_persistState 

point persisted across the update

b2_removeState 

point was removed in the update


Function Documentation

int32 b2ClipSegmentToLine ( b2ClipVertex  vOut[2],
const b2ClipVertex  vIn[2],
const b2Vec2 normal,
float32  offset 
)

Clipping for contact manifolds.

void b2CollideCircles ( b2Manifold manifold,
const b2CircleShape circle1,
const b2Transform xf1,
const b2CircleShape circle2,
const b2Transform xf2 
)

Compute the collision manifold between two circles.

void b2CollidePolygonAndCircle ( b2Manifold manifold,
const b2PolygonShape polygon,
const b2Transform xf1,
const b2CircleShape circle,
const b2Transform xf2 
)

Compute the collision manifold between a polygon and a circle.

void b2CollidePolygons ( b2Manifold manifold,
const b2PolygonShape polygon1,
const b2Transform xf1,
const b2PolygonShape polygon2,
const b2Transform xf2 
)

Compute the collision manifold between two polygons.

void b2GetPointStates ( b2PointState  state1[b2_maxManifoldPoints],
b2PointState  state2[b2_maxManifoldPoints],
const b2Manifold manifold1,
const b2Manifold manifold2 
)

Compute the point states given two manifolds. The states pertain to the transition from manifold1 to manifold2. So state1 is either persist or remove while state2 is either add or persist.

bool b2TestOverlap ( const b2AABB a,
const b2AABB b 
) [inline]
bool b2TestOverlap ( const b2Shape shapeA,
const b2Shape shapeB,
const b2Transform xfA,
const b2Transform xfB 
)

Determine if two generic shapes overlap.


Variable Documentation

const uint8 b2_nullFeature = UCHAR_MAX
Generated on Sat Apr 3 18:18:09 2010 for Box2D by  doxygen 1.6.3