#include <OPC_TreeCollider.h>

Protected Attributes | |
| hrp::CollisionPairInserterBase * | collisionPairInserter |
| Matrix3x3 | mAR |
| Absolute rotation matrix. More... | |
| Point | mCenterCoeff0 |
| Point | mCenterCoeff1 |
| Point | mExtentsCoeff0 |
| Point | mExtentsCoeff1 |
| bool | mFullBoxBoxTest |
| Perform full BV-BV tests (true) or SAT-lite tests (false) More... | |
| bool | mFullPrimBoxTest |
| Perform full Primitive-BV tests (true) or SAT-lite tests (false) More... | |
| udword | mId0 |
| udword | mId1 |
| const MeshInterface * | mIMesh0 |
| User-defined mesh interface for object0. More... | |
| const MeshInterface * | mIMesh1 |
| User-defined mesh interface for object1. More... | |
| udword | mLeafIndex |
| Triangle index. More... | |
| Point | mLeafVerts [3] |
| Triangle vertices. More... | |
| udword | mNbBVBVTests |
| Number of BV-BV tests. More... | |
| udword | mNbBVPrimTests |
| Number of BV-Primitive tests. More... | |
| udword | mNbPrimPrimTests |
| Number of Primitive-Primitive tests. More... | |
| const AABBCollisionNode * | mNowNode0 |
| const AABBCollisionNode * | mNowNode1 |
| Container | mPairs |
| Pairs of colliding primitives. More... | |
| Matrix3x3 | mR0to1 |
| Rotation from object0 to object1. More... | |
| Matrix3x3 | mR1to0 |
| Rotation from object1 to object0. More... | |
| Point | mT0to1 |
| Translation from object0 to object1. More... | |
| Point | mT1to0 |
| Translation from object1 to object0. More... | |
Protected Attributes inherited from Collider | |
| const BaseModel * | mCurrentModel |
| Current model for collision query (owner of touched faces) More... | |
| udword | mFlags |
| Bit flags. More... | |
| const MeshInterface * | mIMesh |
| User-defined mesh interface. More... | |
Contains an AABB tree collider. This class performs a collision test between two AABB trees.
Definition at line 70 of file OPC_TreeCollider.h.
| AABBTreeCollider::AABBTreeCollider | ( | ) |
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
OBB-OBB overlap test using the separating axis theorem.
| ea | [in] extents from box A |
| ca | [in] center from box A |
| eb | [in] extents from box B |
| cb | [in] center from box B |
Definition at line 19 of file OPC_BoxBoxOverlap.h.
|
protected |
| bool AABBTreeCollider::Collide | ( | BVTCache & | cache, |
| const Matrix4x4 * | world0 = null, |
||
| const Matrix4x4 * | world1 = null |
||
| ) |
Generic collision query for generic OPCODE models. After the call, access the results with:
| cache | [in] collision cache for model pointers and a colliding pair of primitives |
| world0 | [in] world matrix for first object, or null |
| world1 | [in] world matrix for second object, or null |
| bool AABBTreeCollider::Collide | ( | const AABBCollisionTree * | tree0, |
| const AABBCollisionTree * | tree1, | ||
| const Matrix4x4 * | world0 = null, |
||
| const Matrix4x4 * | world1 = null, |
||
| Pair * | cache = null |
||
| ) |
| bool AABBTreeCollider::Collide | ( | const AABBNoLeafTree * | tree0, |
| const AABBNoLeafTree * | tree1, | ||
| const Matrix4x4 * | world0 = null, |
||
| const Matrix4x4 * | world1 = null, |
||
| Pair * | cache = null |
||
| ) |
| bool AABBTreeCollider::Collide | ( | const AABBQuantizedTree * | tree0, |
| const AABBQuantizedTree * | tree1, | ||
| const Matrix4x4 * | world0 = null, |
||
| const Matrix4x4 * | world1 = null, |
||
| Pair * | cache = null |
||
| ) |
| bool AABBTreeCollider::Collide | ( | const AABBQuantizedNoLeafTree * | tree0, |
| const AABBQuantizedNoLeafTree * | tree1, | ||
| const Matrix4x4 * | world0 = null, |
||
| const Matrix4x4 * | world1 = null, |
||
| Pair * | cache = null |
||
| ) |
Stats: gets the number of BV-BV overlap tests after a collision query.
Definition at line 135 of file OPC_TreeCollider.h.
Stats: gets the number of BV-Triangle overlap tests after a collision query.
Definition at line 155 of file OPC_TreeCollider.h.
Gets the number of contacts after a collision query.
Definition at line 167 of file OPC_TreeCollider.h.
Stats: gets the number of Triangle-Triangle overlap tests after a collision query.
Definition at line 145 of file OPC_TreeCollider.h.
Gets the pairs of colliding triangles after a collision query.
Definition at line 177 of file OPC_TreeCollider.h.
|
protected |
| AABBTreeCollider::override | ( | Collider | ) | const |
Validates current settings. You should call this method after all the settings and callbacks have been defined for a collider.
|
inline |
Definition at line 77 of file OPC_TreeCollider.h.
Settings: selects between full box-box tests or "SAT-lite" tests (where Class III axes are discarded)
| flag | [in] true for full tests, false for coarse tests |
Definition at line 114 of file OPC_TreeCollider.h.
Settings: selects between full triangle-box tests or "SAT-lite" tests (where Class III axes are discarded)
| flag | [in] true for full tests, false for coarse tests |
Definition at line 123 of file OPC_TreeCollider.h.
|
inlineprotected |
Definition at line 247 of file OPC_TreeCollider.h.
|
protected |
Triangle-Box overlap test using the separating axis theorem. This is the code from Tomas Möller, a bit optimized:
| center | [in] box center |
| extents | [in] box extents |
Definition at line 118 of file OPC_TriBoxOverlap.h.
|
protected |
Triangle/triangle intersection test routine, by Tomas Moller, 1997. See article "A Fast Triangle-Triangle Intersection Test", Journal of Graphics Tools, 2(2), 1997
Updated June 1999: removed the divisions – a little faster now! Updated October 1999: added {} to CROSS and SUB macros
int NoDivTriTriIsect(float V0[3],float V1[3],float V2[3], float U0[3],float U1[3],float U2[3])
| V0 | [in] triangle 0, vertex 0 |
| V1 | [in] triangle 0, vertex 1 |
| V2 | [in] triangle 0, vertex 2 |
| U0 | [in] triangle 1, vertex 0 |
| U1 | [in] triangle 1, vertex 1 |
| U2 | [in] triangle 1, vertex 2 |
Definition at line 179 of file OPC_TriTriOverlap.h.
|
protected |
Definition at line 220 of file OPC_TreeCollider.h.
|
protected |
Absolute rotation matrix.
Definition at line 198 of file OPC_TreeCollider.h.
|
protected |
Definition at line 204 of file OPC_TreeCollider.h.
|
protected |
Definition at line 206 of file OPC_TreeCollider.h.
|
protected |
Definition at line 205 of file OPC_TreeCollider.h.
|
protected |
Definition at line 207 of file OPC_TreeCollider.h.
|
protected |
Perform full BV-BV tests (true) or SAT-lite tests (false)
Definition at line 218 of file OPC_TreeCollider.h.
|
protected |
Perform full Primitive-BV tests (true) or SAT-lite tests (false)
Definition at line 219 of file OPC_TreeCollider.h.
|
protected |
Definition at line 210 of file OPC_TreeCollider.h.
|
protected |
Definition at line 211 of file OPC_TreeCollider.h.
|
protected |
User-defined mesh interface for object0.
Definition at line 191 of file OPC_TreeCollider.h.
|
protected |
User-defined mesh interface for object1.
Definition at line 192 of file OPC_TreeCollider.h.
|
protected |
Triangle index.
Definition at line 216 of file OPC_TreeCollider.h.
|
protected |
Triangle vertices.
Definition at line 215 of file OPC_TreeCollider.h.
|
protected |
Number of BV-BV tests.
Definition at line 194 of file OPC_TreeCollider.h.
|
protected |
Number of BV-Primitive tests.
Definition at line 196 of file OPC_TreeCollider.h.
|
protected |
Number of Primitive-Primitive tests.
Definition at line 195 of file OPC_TreeCollider.h.
|
protected |
Definition at line 212 of file OPC_TreeCollider.h.
|
protected |
Definition at line 213 of file OPC_TreeCollider.h.
|
protected |
Pairs of colliding primitives.
Definition at line 189 of file OPC_TreeCollider.h.
|
protected |
Rotation from object0 to object1.
Definition at line 199 of file OPC_TreeCollider.h.
|
protected |
Rotation from object1 to object0.
Definition at line 200 of file OPC_TreeCollider.h.
|
protected |
Translation from object0 to object1.
Definition at line 201 of file OPC_TreeCollider.h.
|
protected |
Translation from object1 to object0.
Definition at line 202 of file OPC_TreeCollider.h.