Public Member Functions |
bool | Collide (SphereCache &cache, const Sphere &sphere, const Model &model, const Matrix4x4 *worlds=null, const Matrix4x4 *worldm=null) |
bool | Collide (SphereCache &cache, const Sphere &sphere, const AABBTree *tree) |
| SphereCollider () |
virtual | ~SphereCollider () |
Protected Member Functions |
void | _Collide (const AABBCollisionNode *node) |
void | _Collide (const AABBNoLeafNode *node) |
void | _Collide (const AABBQuantizedNode *node) |
void | _Collide (const AABBQuantizedNoLeafNode *node) |
void | _Collide (const AABBTreeNode *node) |
void | _CollideNoPrimitiveTest (const AABBCollisionNode *node) |
void | _CollideNoPrimitiveTest (const AABBNoLeafNode *node) |
void | _CollideNoPrimitiveTest (const AABBQuantizedNode *node) |
void | _CollideNoPrimitiveTest (const AABBQuantizedNoLeafNode *node) |
BOOL | InitQuery (SphereCache &cache, const Sphere &sphere, const Matrix4x4 *worlds=null, const Matrix4x4 *worldm=null) |
inline_ BOOL | SphereAABBOverlap (const Point ¢er, const Point &extents) |
inline_ BOOL | SphereContainsBox (const Point &bc, const Point &be) |
BOOL | SphereTriOverlap (const Point &vert0, const Point &vert1, const Point &vert2) |
Protected Attributes |
Point | mCenter |
| Sphere center.
|
float | mRadius2 |
| Sphere radius squared.
|
Contains a sphere-vs-tree collider. This class performs a collision test between a sphere and an AABB tree. You can use this to do a standard player vs world collision, in a Nettle/Telemachos way. It doesn't suffer from all reported bugs in those two classic codes - the "new" one by Paul Nettle is a debuggued version I think. Collision response can be driven by reported collision data - it works extremely well for me. In sake of efficiency, all meshes (that is, all AABB trees) should of course also be kept in an extra hierarchical structure (octree, whatever).
- Author:
- Pierre Terdiman
- Version:
- 1.3
- Date:
- June, 2, 2001
Definition at line 35 of file OPC_SphereCollider.h.