|
Blender V4.3
|
#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"Go to the source code of this file.
Classes | |
| struct | ClipVertex |
Macros | |
| #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 |
Definition at line 89 of file btBox2dBox2dCollisionAlgorithm.cpp.
Definition at line 86 of file btBox2dBox2dCollisionAlgorithm.cpp.
Referenced by b2CollidePolygons(), ClipSegmentToLine(), EdgeSeparation(), and FindIncidentEdge().
Definition at line 87 of file btBox2dBox2dCollisionAlgorithm.cpp.
Referenced by b2CollidePolygons(), EdgeSeparation(), FindIncidentEdge(), and FindMaxSeparation().
Definition at line 88 of file btBox2dBox2dCollisionAlgorithm.cpp.
Referenced by EdgeSeparation(), FindIncidentEdge(), and FindMaxSeparation().
Definition at line 90 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 27 of file btBox2dBox2dCollisionAlgorithm.cpp.
| void b2CollidePolygons | ( | btManifoldResult * | manifold, |
| const btBox2dShape * | polyA, | ||
| const btTransform & | xfA, | ||
| const btBox2dShape * | polyB, | ||
| const btTransform & | xfB ) |
Definition at line 299 of file btBox2dBox2dCollisionAlgorithm.cpp.
References b2_maxManifoldPoints, b2Dot, b2Mul, btBox2dShape(), btCrossS, btTransform, ClipSegmentToLine(), FindIncidentEdge(), FindMaxSeparation(), ClipVertex::v, and v.
Referenced by btBox2dBox2dCollisionAlgorithm::processCollision().
|
static |
Definition at line 94 of file btBox2dBox2dCollisionAlgorithm.cpp.
References b2Dot, ClipVertex::id, interp(), ClipVertex::v, and v.
Referenced by b2CollidePolygons().
|
static |
Definition at line 129 of file btBox2dBox2dCollisionAlgorithm.cpp.
References b2Dot, b2Mul, b2MulT, BT_LARGE_FLOAT, btAssert, getVertexCount(), int, minDot(), and v2.
Referenced by FindMaxSeparation().
|
static |
Definition at line 249 of file btBox2dBox2dCollisionAlgorithm.cpp.
References b2Dot, b2Mul, b2MulT, BT_LARGE_FLOAT, btAssert, dot(), getVertexCount(), minDot(), and ClipVertex::v.
Referenced by b2CollidePolygons().
|
static |
Definition at line 158 of file btBox2dBox2dCollisionAlgorithm.cpp.
References b2Mul, b2MulT, EdgeSeparation(), int, and maxDot().
Referenced by b2CollidePolygons().
| int b2_maxManifoldPoints = 2 |
Definition at line 92 of file btBox2dBox2dCollisionAlgorithm.cpp.
Referenced by b2CollidePolygons().