Bullet Collision Detection & Physics Library
btBox2dBox2dCollisionAlgorithm.cpp File Reference
Include dependency graph for btBox2dBox2dCollisionAlgorithm.cpp:

Go to the source code of this file.

Classes

struct  ClipVertex
 

Macros

#define USE_PERSISTENT_CONTACTS   1
 btBox2dBox2dCollisionAlgorithm, with modified b2CollidePolygons routines from the Box2D library.
 
#define b2Dot(a, b)
 
#define b2Mul(a, b)
 
#define b2MulT(a, b)
 
#define b2Cross(a, b)
 
#define btCrossS(a, s)
 

Functions

void b2CollidePolygons (btManifoldResult *manifold, const btBox2dShape *polyA, const btTransform &xfA, const btBox2dShape *polyB, const btTransform &xfB)
 
static int ClipSegmentToLine (ClipVertex vOut[2], ClipVertex vIn[2], const btVector3 &normal, btScalar offset)
 
static btScalar EdgeSeparation (const btBox2dShape *poly1, const btTransform &xf1, int edge1, const btBox2dShape *poly2, const btTransform &xf2)
 
static btScalar FindMaxSeparation (int *edgeIndex, const btBox2dShape *poly1, const btTransform &xf1, const btBox2dShape *poly2, const btTransform &xf2)
 
static void FindIncidentEdge (ClipVertex c[2], const btBox2dShape *poly1, const btTransform &xf1, int edge1, const btBox2dShape *poly2, const btTransform &xf2)
 

Variables

int b2_maxManifoldPoints = 2
 

Macro Definition Documentation

◆ b2Cross

#define b2Cross ( a,
b )
Value:
(a).cross(b)

Definition at line 89 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ b2Dot

#define b2Dot ( a,
b )
Value:
(a).dot(b)
btScalar dot(const btQuaternion &q1, const btQuaternion &q2)
Calculate the dot product between two quaternions.

Definition at line 86 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ b2Mul

#define b2Mul ( a,
b )
Value:
(a) * (b)

Definition at line 87 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ b2MulT

#define b2MulT ( a,
b )
Value:
(a).transpose() * (b)

Definition at line 88 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ btCrossS

#define btCrossS ( a,
s )
Value:
btVector3(s* a.getY(), -s* a.getX(), 0.f)
btVector3 can be used to represent 3D points and vectors.
Definition btVector3.h:82

Definition at line 90 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ USE_PERSISTENT_CONTACTS

#define USE_PERSISTENT_CONTACTS   1

btBox2dBox2dCollisionAlgorithm, with modified b2CollidePolygons routines from the Box2D library.

The modifications include: switching from b2Vec to btVector3, redefinition of b2Dot, b2Cross

Definition at line 27 of file btBox2dBox2dCollisionAlgorithm.cpp.

Function Documentation

◆ b2CollidePolygons()

void b2CollidePolygons ( btManifoldResult * manifold,
const btBox2dShape * polyA,
const btTransform & xfA,
const btBox2dShape * polyB,
const btTransform & xfB )

Definition at line 299 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ ClipSegmentToLine()

static int ClipSegmentToLine ( ClipVertex vOut[2],
ClipVertex vIn[2],
const btVector3 & normal,
btScalar offset )
static

Definition at line 94 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ EdgeSeparation()

static btScalar EdgeSeparation ( const btBox2dShape * poly1,
const btTransform & xf1,
int edge1,
const btBox2dShape * poly2,
const btTransform & xf2 )
static

Definition at line 129 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ FindIncidentEdge()

static void FindIncidentEdge ( ClipVertex c[2],
const btBox2dShape * poly1,
const btTransform & xf1,
int edge1,
const btBox2dShape * poly2,
const btTransform & xf2 )
static

Definition at line 249 of file btBox2dBox2dCollisionAlgorithm.cpp.

◆ FindMaxSeparation()

static btScalar FindMaxSeparation ( int * edgeIndex,
const btBox2dShape * poly1,
const btTransform & xf1,
const btBox2dShape * poly2,
const btTransform & xf2 )
static

Definition at line 158 of file btBox2dBox2dCollisionAlgorithm.cpp.

Variable Documentation

◆ b2_maxManifoldPoints

int b2_maxManifoldPoints = 2

Definition at line 92 of file btBox2dBox2dCollisionAlgorithm.cpp.