Blender V2.61 - r43446
Classes | Defines | 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"

Go to the source code of this file.

Classes

struct  ClipVertex

Defines

#define USE_PERSISTENT_CONTACTS   1
#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

Define Documentation

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

Definition at line 95 of file btBox2dBox2dCollisionAlgorithm.cpp.

#define b2Dot (   a,
 
)    (a).dot(b)
#define b2Mul (   a,
 
)    (a)*(b)
#define b2MulT (   a,
 
)    (a).transpose()*(b)
#define btCrossS (   a,
 
)    btVector3(s * a.getY(), -s * a.getX(),0.f)

Definition at line 96 of file btBox2dBox2dCollisionAlgorithm.cpp.

Referenced by b2CollidePolygons().

#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 26 of file btBox2dBox2dCollisionAlgorithm.cpp.


Function Documentation

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]

Definition at line 100 of file btBox2dBox2dCollisionAlgorithm.cpp.

References b2Dot, ClipVertex::id, interp(), and ClipVertex::v.

Referenced by b2CollidePolygons().

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

Variable Documentation

Definition at line 98 of file btBox2dBox2dCollisionAlgorithm.cpp.

Referenced by b2CollidePolygons().