#include <Box2D/Common/b2Math.h>
#include <limits.h>
Go to the source code of this file.
Classes | |
struct | b2ContactFeature |
union | b2ContactID |
Contact ids to facilitate warm starting. 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 *circleA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB) |
Compute the collision manifold between two circles. | |
void | b2CollidePolygonAndCircle (b2Manifold *manifold, const b2PolygonShape *polygonA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB) |
Compute the collision manifold between a polygon and a circle. | |
void | b2CollidePolygons (b2Manifold *manifold, const b2PolygonShape *polygonA, const b2Transform &xfA, const b2PolygonShape *polygonB, const b2Transform &xfB) |
Compute the collision manifold between two polygons. | |
void | b2CollideEdgeAndCircle (b2Manifold *manifold, const b2EdgeShape *polygonA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB) |
Compute the collision manifold between an edge and a circle. | |
void | b2CollideEdgeAndPolygon (b2Manifold *manifold, const b2EdgeShape *edgeA, const b2Transform &xfA, const b2PolygonShape *circleB, const b2Transform &xfB) |
Compute the collision manifold between an edge and a circle. | |
int32 | b2ClipSegmentToLine (b2ClipVertex vOut[2], const b2ClipVertex vIn[2], const b2Vec2 &normal, float32 offset, int32 vertexIndexA) |
Clipping for contact manifolds. | |
bool | b2TestOverlap (const b2Shape *shapeA, int32 indexA, const b2Shape *shapeB, int32 indexB, 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 |
Structures and functions used for computing contact points, distance queries, and TOI queries.
enum b2PointState |
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.