Bullet Collision Detection & Physics Library
Classes | Macros | Functions | Variables
btBox2dBox2dCollisionAlgorithm.cpp File Reference
#include "btBox2dBox2dCollisionAlgorithm.h"
#include "BulletCollision/CollisionDispatch/btCollisionDispatcher.h"
#include "BulletCollision/CollisionShapes/btBoxShape.h"
#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
#include "BulletCollision/CollisionDispatch/btBoxBoxDetector.h"
#include "BulletCollision/CollisionShapes/btBox2dShape.h"
#include "BulletCollision/CollisionDispatch/btCollisionObjectWrapper.h"
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. More...
 
#define b2Dot(a, b)   (a).dot(b)
 
#define b2Mul(a, b)   (a)*(b)
 
#define b2MulT(a, b)   (a).transpose()*(b)
 
#define b2Cross(a, b)   (a).cross(b)
 
#define btCrossS(a, s)   btVector3(s * a.getY(), -s * a.getX(),0.f)
 

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

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

Definition at line 95 of file btBox2dBox2dCollisionAlgorithm.cpp.

#define b2Dot (   a,
 
)    (a).dot(b)

Definition at line 92 of file btBox2dBox2dCollisionAlgorithm.cpp.

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

Definition at line 93 of file btBox2dBox2dCollisionAlgorithm.cpp.

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

Definition at line 94 of file btBox2dBox2dCollisionAlgorithm.cpp.

#define btCrossS (   a,
 
)    btVector3(s * a.getY(), -s * a.getX(),0.f)

Definition at line 96 of file btBox2dBox2dCollisionAlgorithm.cpp.

#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

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

Definition at line 305 of file btBox2dBox2dCollisionAlgorithm.cpp.

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

Definition at line 100 of file btBox2dBox2dCollisionAlgorithm.cpp.

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

Definition at line 135 of file btBox2dBox2dCollisionAlgorithm.cpp.

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

Definition at line 255 of file btBox2dBox2dCollisionAlgorithm.cpp.

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

Definition at line 164 of file btBox2dBox2dCollisionAlgorithm.cpp.

Variable Documentation

int b2_maxManifoldPoints =2

Definition at line 98 of file btBox2dBox2dCollisionAlgorithm.cpp.