#include <objects.h>
Collaboration diagram for OBJECTCOLLISION:

Public Member Functions | |
| ~OBJECTCOLLISION () | |
| void | AddColNode (OBJECTNODE *newobject, short *newvi) |
| bool | CollideDriveable (VERTEX origin, VERTEX direction, VERTEX &outtri, bool closest, VERTEX &normal) |
| bool | CollideAABB (VERTEX origin, VERTEX direction, VERTEX &outtri, bool closest, VERTEX &normal, float seglen, OBJECTNODE *&colnode) |
| bool | CollideAABB_double (VERTEXD origin, VERTEXD direction, VERTEXD &outtri, bool closest, VERTEXD &normal, double seglen) |
| bool | CollideModelAABB (VERTEX *modelverts, int numfaces, AABB modelbbox, VERTEX &outtri, bool closest, VERTEX &normal, float &depth) |
| void | GenerateCollisionTree () |
| void | Clear () |
| void | GetTrisInBBox (AABB bbox, list< OBJECTTRI > &trilist) |
Private Member Functions | |
| void | GenerateBranches (OBJCOLBRANCH *branch) |
| bool | CollideBranch (VERTEX origin, VERTEX direction, VERTEX &outtri, bool closest, OBJCOLBRANCH *branch, VERTEX &normal, float seglen, int &testcount, OBJECTNODE *&colnode) |
| bool | CollideBranch_double (VERTEXD origin, VERTEXD direction, VERTEXD &outtri, bool closest, OBJCOLBRANCH *branch, VERTEXD &normal, double seglen) |
| bool | CollideBranchModel (VERTEX *modelverts, int numfaces, AABB &modelbbox, VERTEX &outtri, bool closest, OBJCOLBRANCH *branch, VERTEX &normal, float &depth, int &testcount) |
| bool | CollideBranchGetTrisInBBox (AABB bbox, list< OBJECTTRI > &trilist, OBJCOLBRANCH *branch) |
Private Attributes | |
| list< OBJCOLNODE > | colnodes |
| list< OBJCOLNODE > | drvnodes |
| OBJCOLBRANCH | coltree |
Definition at line 100 of file objects.h.
|
|
Definition at line 1049 of file objects.cpp. References Clear(). |
|
||||||||||||
|
Definition at line 641 of file objects.cpp. References OBJECTNODE::cancollide, COLLIDE_AND_DRIVE_TOGETHER, colnodes, OBJECTNODE::driveable, drvnodes, OBJCOLNODE::object, and OBJCOLNODE::vertexIndex. |
|
|
Definition at line 1042 of file objects.cpp. References colnodes, coltree, OBJCOLBRANCH::DeleteChildren(), and drvnodes. Referenced by OBJECTS::LoadObjectsFromFolder(), and ~OBJECTCOLLISION(). |
|
||||||||||||||||||||||||||||||||
|
Definition at line 1069 of file objects.cpp. References CollideBranch(), coltree, and VERTEX::z. Referenced by OBJECTS::Collide(). |
|
||||||||||||||||||||||||||||
|
Definition at line 1094 of file objects.cpp. References CollideBranch_double(), coltree, and VERTEXD::z. Referenced by OBJECTS::CollideD(). |
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 1106 of file objects.cpp. References VERTEX::DebugPrint(), VERTEX::dot(), INTERSECT_FUNCTION, OBJCOLBRANCH::leaves, OBJCOLBRANCH::left, VERTEX::normalize(), NULL, OBJCOLBRANCH::right, VERTEX::Scale(), VERTEX::ScaleR(), VERTEX::Set(), VERTEX::v3(), and VERTEX::z. Referenced by CollideAABB(). |
|
||||||||||||||||||||||||||||||||
|
Definition at line 1293 of file objects.cpp. References VERTEXD::dot(), UTILITY::IntersectTriangleD(), OBJCOLBRANCH::leaves, OBJCOLBRANCH::left, VERTEXD::normalize(), NULL, OBJCOLBRANCH::right, VERTEXD::Scale(), VERTEXD::ScaleR(), VERTEXD::Set(), utility, VERTEXD::v3(), VERTEXD::x, VERTEXD::y, and VERTEXD::z. Referenced by CollideAABB_double(). |
|
||||||||||||||||
|
Definition at line 1888 of file objects.cpp. References OBJCOLBRANCH::leaves, OBJCOLBRANCH::left, NULL, OBJCOLBRANCH::right, VERTEX::Set(), OBJECTTRI::v2, and OBJECTTRI::v3. Referenced by GetTrisInBBox(). |
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 1495 of file objects.cpp. References UTILITY::BruteForceTriangleIntersectionF(), VERTEX::DebugPrint(), AABB::GetCenter(), OBJCOLBRANCH::leaves, OBJCOLBRANCH::left, UTILITY::MollerTriTriIsectWithLine(), NULL, OBJCOLBRANCH::right, VERTEX::Scale(), VERTEX::Set(), utility, VERTEX::v3(), VERTEX::x, VERTEX::y, and VERTEX::z. Referenced by CollideModelAABB(). |
|
||||||||||||||||||||||||
|
Definition at line 673 of file objects.cpp. References VERTEX::dot(), drvnodes, INTERSECT_FUNCTION, VERTEX::normalize(), VERTEX::Scale(), VERTEX::ScaleR(), VERTEX::Set(), VERTEX::v3(), and VERTEX::z. Referenced by OBJECTS::CollideDriveable(). |
|
||||||||||||||||||||||||||||||||
|
Definition at line 1054 of file objects.cpp. References CollideBranchModel(), coltree, VERTEX::normalize(), and VERTEX::zero(). Referenced by OBJECTS::CollideModel(). |
|
|
Definition at line 851 of file objects.cpp. References OBJCOLBRANCH::leaves, and VERTEX::Set(). |
|
|
Definition at line 797 of file objects.cpp. References colnodes, coltree, OBJCOLBRANCH::DeleteChildren(), OBJCOLBRANCH::leaves, OBJCOLBRANCH::left, NULL, and OBJCOLBRANCH::right. |
|
||||||||||||
|
Definition at line 1883 of file objects.cpp. References CollideBranchGetTrisInBBox(), and coltree. Referenced by OBJECTS::GetTrisInBBox(). |
|
|
Definition at line 116 of file objects.h. Referenced by AddColNode(), Clear(), and GenerateCollisionTree(). |
|
|
Definition at line 119 of file objects.h. Referenced by Clear(), CollideAABB(), CollideAABB_double(), CollideModelAABB(), GenerateCollisionTree(), and GetTrisInBBox(). |
|
|
Definition at line 117 of file objects.h. Referenced by AddColNode(), Clear(), and CollideDriveable(). |
1.4.6