Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
CollisionMath Class Reference

#include <colmath.h>

Classes

struct  ColmathStatsStruct
 

Public Types

enum  OverlapType {
  POS = 0x01 , NEG = 0x02 , ON = 0x04 , BOTH = 0x08 ,
  OUTSIDE = POS , INSIDE = NEG , OVERLAPPED = BOTH , FRONT = POS ,
  BACK = NEG
}
 

Static Public Member Functions

static bool Intersection_Test (const AABoxClass &box, const TriClass &tri)
 
static bool Intersection_Test (const AABoxClass &box, const AABoxClass &box2)
 
static bool Intersection_Test (const AABoxClass &box, const OBBoxClass &box2)
 
static bool Intersection_Test (const OBBoxClass &box, const TriClass &tri)
 
static bool Intersection_Test (const OBBoxClass &box, const AABoxClass &box2)
 
static bool Intersection_Test (const OBBoxClass &box, const OBBoxClass &box2)
 
static bool Intersection_Test (const SphereClass &sphere, const AABoxClass &box)
 
static bool Intersection_Test (const SphereClass &sphere, const OBBoxClass &box)
 
static OverlapType Overlap_Test (const AAPlaneClass &plane, const Vector3 &point)
 
static OverlapType Overlap_Test (const AAPlaneClass &plane, const LineSegClass &line)
 
static OverlapType Overlap_Test (const AAPlaneClass &plane, const TriClass &tri)
 
static OverlapType Overlap_Test (const AAPlaneClass &plane, const SphereClass &sphere)
 
static OverlapType Overlap_Test (const AAPlaneClass &plane, const AABoxClass &box)
 
static OverlapType Overlap_Test (const AAPlaneClass &plane, const OBBoxClass &box)
 
static OverlapType Overlap_Test (const PlaneClass &plane, const Vector3 &point)
 
static OverlapType Overlap_Test (const PlaneClass &plane, const LineSegClass &line)
 
static OverlapType Overlap_Test (const PlaneClass &plane, const TriClass &tri)
 
static OverlapType Overlap_Test (const PlaneClass &plane, const SphereClass &sphere)
 
static OverlapType Overlap_Test (const PlaneClass &plane, const Vector3 &center, const Vector3 &extent)
 
static OverlapType Overlap_Test (const PlaneClass &plane, const AABoxClass &box)
 
static OverlapType Overlap_Test (const PlaneClass &plane, const OBBoxClass &box)
 
static OverlapType Overlap_Test (const SphereClass &sphere, const Vector3 &point)
 
static OverlapType Overlap_Test (const SphereClass &sphere, const LineSegClass &line)
 
static OverlapType Overlap_Test (const SphereClass &sphere, const TriClass &tri)
 
static OverlapType Overlap_Test (const SphereClass &sphere, const SphereClass &sphere2)
 
static OverlapType Overlap_Test (const SphereClass &sphere, const AABoxClass &aabox)
 
static OverlapType Overlap_Test (const SphereClass &sphere, const OBBoxClass &obbox)
 
static OverlapType Overlap_Test (const AABoxClass &box, const Vector3 &point)
 
static OverlapType Overlap_Test (const AABoxClass &box, const LineSegClass &line)
 
static OverlapType Overlap_Test (const AABoxClass &box, const TriClass &tri)
 
static OverlapType Overlap_Test (const AABoxClass &box, const AABoxClass &box2)
 
static OverlapType Overlap_Test (const AABoxClass &box, const OBBoxClass &obbox)
 
static OverlapType Overlap_Test (const AABoxClass &box, const SphereClass &sphere)
 
static OverlapType Overlap_Test (const OBBoxClass &box, const Vector3 &point)
 
static OverlapType Overlap_Test (const OBBoxClass &box, const LineSegClass &line)
 
static OverlapType Overlap_Test (const OBBoxClass &box, const TriClass &tri)
 
static OverlapType Overlap_Test (const OBBoxClass &box, const AABoxClass &box2)
 
static OverlapType Overlap_Test (const OBBoxClass &box, const OBBoxClass &box2)
 
static OverlapType Overlap_Test (const FrustumClass &frustum, const Vector3 &point)
 
static OverlapType Overlap_Test (const FrustumClass &frustum, const TriClass &tri)
 
static OverlapType Overlap_Test (const FrustumClass &frustum, const SphereClass &sphere)
 
static OverlapType Overlap_Test (const FrustumClass &frustum, const AABoxClass &box)
 
static OverlapType Overlap_Test (const FrustumClass &frustum, const OBBoxClass &box)
 
static OverlapType Overlap_Test (const FrustumClass &frustum, const AABoxClass &box, int &planes_passed)
 
static OverlapType Overlap_Test (const FrustumClass &frustum, const OBBoxClass &box, int &planes_passed)
 
static OverlapType Overlap_Test (const Vector3 &min, const Vector3 &max, const LineSegClass &line)
 
static bool Collide (const LineSegClass &line, const AAPlaneClass &plane, CastResultStruct *result)
 
static bool Collide (const LineSegClass &line, const PlaneClass &plane, CastResultStruct *result)
 
static bool Collide (const LineSegClass &line, const TriClass &tri, CastResultStruct *result)
 
static bool Collide (const LineSegClass &line, const SphereClass &sphere, CastResultStruct *result)
 
static bool Collide (const LineSegClass &line, const AABoxClass &box, CastResultStruct *result)
 
static bool Collide (const LineSegClass &line, const OBBoxClass &box, CastResultStruct *result)
 
static bool Collide (const AABoxClass &box, const Vector3 &move, const PlaneClass &plane, CastResultStruct *result)
 
static bool Collide (const AABoxClass &box, const Vector3 &move, const TriClass &tri, CastResultStruct *result)
 
static bool Collide (const AABoxClass &box, const Vector3 &move, const AABoxClass &box2, CastResultStruct *result)
 
static bool Collide (const AABoxClass &box, const Vector3 &move, const OBBoxClass &box2, const Vector3 &move2, CastResultStruct *result)
 
static bool Collide (const OBBoxClass &box, const Vector3 &move, const PlaneClass &plane, CastResultStruct *result)
 
static bool Collide (const OBBoxClass &box, const Vector3 &move, const TriClass &tri, const Vector3 &move2, CastResultStruct *result)
 
static bool Collide (const OBBoxClass &box, const Vector3 &move, const AABoxClass &box2, const Vector3 &move2, CastResultStruct *result)
 
static bool Collide (const OBBoxClass &box, const Vector3 &move, const OBBoxClass &box2, const Vector3 &move2, CastResultStruct *result)
 
static void Reset_Stats (void)
 
static const ColmathStatsStructGet_Current_Stats (void)
 

Detailed Description

CollisionMath This is a collection of the low-level math functions for collision detection.

Definition at line 79 of file colmath.h.

Member Enumeration Documentation

◆ OverlapType

Enumerator
POS 
NEG 
ON 
BOTH 
OUTSIDE 
INSIDE 
OVERLAPPED 
FRONT 
BACK 

Definition at line 105 of file colmath.h.

Member Function Documentation

◆ Collide() [1/14]

bool CollisionMath::Collide ( const AABoxClass & box,
const Vector3 & move,
const AABoxClass & box2,
CastResultStruct * result )
static

Definition at line 551 of file colmathaabox.cpp.

◆ Collide() [2/14]

bool CollisionMath::Collide ( const AABoxClass & box,
const Vector3 & move,
const OBBoxClass & box2,
const Vector3 & move2,
CastResultStruct * result )
static

Definition at line 1397 of file colmathobbobb.cpp.

◆ Collide() [3/14]

bool CollisionMath::Collide ( const AABoxClass & box,
const Vector3 & move,
const PlaneClass & plane,
CastResultStruct * result )
static

Definition at line 377 of file colmathaabox.cpp.

◆ Collide() [4/14]

bool CollisionMath::Collide ( const AABoxClass & box,
const Vector3 & move,
const TriClass & tri,
CastResultStruct * result )
static

Definition at line 593 of file colmathaabtri.cpp.

◆ Collide() [5/14]

bool CollisionMath::Collide ( const LineSegClass & line,
const AABoxClass & box,
CastResultStruct * result )
static

Definition at line 279 of file colmathline.cpp.

◆ Collide() [6/14]

bool CollisionMath::Collide ( const LineSegClass & line,
const AAPlaneClass & plane,
CastResultStruct * result )
static

Definition at line 114 of file colmathline.cpp.

◆ Collide() [7/14]

bool CollisionMath::Collide ( const LineSegClass & line,
const OBBoxClass & box,
CastResultStruct * result )
static

Definition at line 313 of file colmathline.cpp.

◆ Collide() [8/14]

bool CollisionMath::Collide ( const LineSegClass & line,
const PlaneClass & plane,
CastResultStruct * result )
static

Definition at line 151 of file colmathline.cpp.

◆ Collide() [9/14]

bool CollisionMath::Collide ( const LineSegClass & line,
const SphereClass & sphere,
CastResultStruct * result )
static

Definition at line 246 of file colmathline.cpp.

◆ Collide() [10/14]

bool CollisionMath::Collide ( const LineSegClass & line,
const TriClass & tri,
CastResultStruct * result )
static

Definition at line 192 of file colmathline.cpp.

◆ Collide() [11/14]

bool CollisionMath::Collide ( const OBBoxClass & box,
const Vector3 & move,
const AABoxClass & box2,
const Vector3 & move2,
CastResultStruct * result )
static

Definition at line 1370 of file colmathobbobb.cpp.

◆ Collide() [12/14]

bool CollisionMath::Collide ( const OBBoxClass & box,
const Vector3 & move,
const OBBoxClass & box2,
const Vector3 & move2,
CastResultStruct * result )
static

Definition at line 1344 of file colmathobbobb.cpp.

◆ Collide() [13/14]

bool CollisionMath::Collide ( const OBBoxClass & box,
const Vector3 & move,
const PlaneClass & plane,
CastResultStruct * result )
static

Definition at line 119 of file colmathobbox.cpp.

◆ Collide() [14/14]

bool CollisionMath::Collide ( const OBBoxClass & box,
const Vector3 & move,
const TriClass & tri,
const Vector3 & move2,
CastResultStruct * result )
static

Definition at line 882 of file colmathobbtri.cpp.

◆ Get_Current_Stats()

static const ColmathStatsStruct & CollisionMath::Get_Current_Stats ( void )
inlinestatic

Definition at line 232 of file colmath.h.

◆ Intersection_Test() [1/8]

bool CollisionMath::Intersection_Test ( const AABoxClass & box,
const AABoxClass & box2 )
static

Definition at line 69 of file colmathaabox.cpp.

◆ Intersection_Test() [2/8]

bool CollisionMath::Intersection_Test ( const AABoxClass & box,
const OBBoxClass & box2 )
static

Definition at line 485 of file colmathobbobb.cpp.

◆ Intersection_Test() [3/8]

bool CollisionMath::Intersection_Test ( const AABoxClass & box,
const TriClass & tri )
static

Definition at line 1041 of file colmathaabtri.cpp.

◆ Intersection_Test() [4/8]

bool CollisionMath::Intersection_Test ( const OBBoxClass & box,
const AABoxClass & box2 )
static

Definition at line 465 of file colmathobbobb.cpp.

◆ Intersection_Test() [5/8]

bool CollisionMath::Intersection_Test ( const OBBoxClass & box,
const OBBoxClass & box2 )
static

Definition at line 446 of file colmathobbobb.cpp.

◆ Intersection_Test() [6/8]

bool CollisionMath::Intersection_Test ( const OBBoxClass & box,
const TriClass & tri )
static

Definition at line 1366 of file colmathobbtri.cpp.

◆ Intersection_Test() [7/8]

bool CollisionMath::Intersection_Test ( const SphereClass & sphere,
const AABoxClass & box )
static

Definition at line 70 of file colmathsphere.cpp.

◆ Intersection_Test() [8/8]

bool CollisionMath::Intersection_Test ( const SphereClass & sphere,
const OBBoxClass & box )
static

Definition at line 97 of file colmathsphere.cpp.

◆ Overlap_Test() [1/38]

WWINLINE CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AABoxClass & box,
const AABoxClass & box2 )
static

Definition at line 87 of file colmathaabox.h.

◆ Overlap_Test() [2/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AABoxClass & box,
const LineSegClass & line )
static

Definition at line 144 of file colmathaabox.cpp.

◆ Overlap_Test() [3/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AABoxClass & box,
const OBBoxClass & obbox )
static

Definition at line 91 of file colmathobbox.cpp.

◆ Overlap_Test() [4/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AABoxClass & box,
const SphereClass & sphere )
static

Definition at line 91 of file colmathaabox.cpp.

◆ Overlap_Test() [5/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AABoxClass & box,
const TriClass & tri )
static

Definition at line 357 of file colmathaabox.cpp.

◆ Overlap_Test() [6/38]

WWINLINE CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AABoxClass & box,
const Vector3 & point )
static

Definition at line 66 of file colmathaabox.h.

◆ Overlap_Test() [7/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AAPlaneClass & plane,
const AABoxClass & box )
static

Definition at line 100 of file colmathplane.cpp.

◆ Overlap_Test() [8/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AAPlaneClass & plane,
const LineSegClass & line )
static

Definition at line 68 of file colmathplane.cpp.

◆ Overlap_Test() [9/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AAPlaneClass & plane,
const OBBoxClass & box )
static

Definition at line 130 of file colmathplane.cpp.

◆ Overlap_Test() [10/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AAPlaneClass & plane,
const SphereClass & sphere )
static

Definition at line 87 of file colmathplane.cpp.

◆ Overlap_Test() [11/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AAPlaneClass & plane,
const TriClass & tri )
static

Definition at line 77 of file colmathplane.cpp.

◆ Overlap_Test() [12/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const AAPlaneClass & plane,
const Vector3 & point )
static

Definition at line 55 of file colmathplane.cpp.

◆ Overlap_Test() [13/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const FrustumClass & frustum,
const AABoxClass & box )
static

Definition at line 116 of file colmathfrustum.cpp.

◆ Overlap_Test() [14/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const FrustumClass & frustum,
const AABoxClass & box,
int & planes_passed )
inlinestatic

Definition at line 71 of file colmathfrustum.h.

◆ Overlap_Test() [15/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const FrustumClass & frustum,
const OBBoxClass & box )
static

Definition at line 137 of file colmathfrustum.cpp.

◆ Overlap_Test() [16/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const FrustumClass & frustum,
const OBBoxClass & box,
int & planes_passed )
static

Definition at line 158 of file colmathfrustum.cpp.

◆ Overlap_Test() [17/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const FrustumClass & frustum,
const SphereClass & sphere )
static

Definition at line 96 of file colmathfrustum.cpp.

◆ Overlap_Test() [18/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const FrustumClass & frustum,
const TriClass & tri )
static

Definition at line 76 of file colmathfrustum.cpp.

◆ Overlap_Test() [19/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const FrustumClass & frustum,
const Vector3 & point )
static

Definition at line 57 of file colmathfrustum.cpp.

◆ Overlap_Test() [20/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const OBBoxClass & box,
const AABoxClass & box2 )
static

Definition at line 101 of file colmathobbox.cpp.

◆ Overlap_Test() [21/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const OBBoxClass & box,
const LineSegClass & line )
static

Definition at line 75 of file colmathobbox.cpp.

◆ Overlap_Test() [22/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const OBBoxClass & box,
const OBBoxClass & box2 )
static

Definition at line 112 of file colmathobbox.cpp.

◆ Overlap_Test() [23/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const OBBoxClass & box,
const TriClass & tri )
static

Definition at line 83 of file colmathobbox.cpp.

◆ Overlap_Test() [24/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const OBBoxClass & box,
const Vector3 & point )
static

Definition at line 55 of file colmathobbox.cpp.

◆ Overlap_Test() [25/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const PlaneClass & plane,
const AABoxClass & box )
inlinestatic

Definition at line 131 of file colmathplane.h.

◆ Overlap_Test() [26/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const PlaneClass & plane,
const LineSegClass & line )
static

Definition at line 141 of file colmathplane.cpp.

◆ Overlap_Test() [27/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const PlaneClass & plane,
const OBBoxClass & box )
static

Definition at line 173 of file colmathplane.cpp.

◆ Overlap_Test() [28/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const PlaneClass & plane,
const SphereClass & sphere )
static

Definition at line 160 of file colmathplane.cpp.

◆ Overlap_Test() [29/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const PlaneClass & plane,
const TriClass & tri )
static

Definition at line 150 of file colmathplane.cpp.

◆ Overlap_Test() [30/38]

static OverlapType CollisionMath::Overlap_Test ( const PlaneClass & plane,
const Vector3 & center,
const Vector3 & extent )
static

◆ Overlap_Test() [31/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const PlaneClass & plane,
const Vector3 & point )
inlinestatic

Definition at line 104 of file colmathplane.h.

◆ Overlap_Test() [32/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const SphereClass & sphere,
const AABoxClass & aabox )
static

Definition at line 223 of file colmathsphere.cpp.

◆ Overlap_Test() [33/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const SphereClass & sphere,
const LineSegClass & line )
static

Definition at line 153 of file colmathsphere.cpp.

◆ Overlap_Test() [34/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const SphereClass & sphere,
const OBBoxClass & obbox )
static

Definition at line 243 of file colmathsphere.cpp.

◆ Overlap_Test() [35/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const SphereClass & sphere,
const SphereClass & sphere2 )
static

Definition at line 193 of file colmathsphere.cpp.

◆ Overlap_Test() [36/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const SphereClass & sphere,
const TriClass & tri )
static

Definition at line 173 of file colmathsphere.cpp.

◆ Overlap_Test() [37/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const SphereClass & sphere,
const Vector3 & point )
static

Definition at line 127 of file colmathsphere.cpp.

◆ Overlap_Test() [38/38]

CollisionMath::OverlapType CollisionMath::Overlap_Test ( const Vector3 & min,
const Vector3 & max,
const LineSegClass & line )
inlinestatic

Definition at line 47 of file colmathline.h.

◆ Reset_Stats()

static void CollisionMath::Reset_Stats ( void )
inlinestatic

Definition at line 231 of file colmath.h.


The documentation for this class was generated from the following files: