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

Public Member Functions

 BTCollisionStruct (void)
 
void Init (const AABoxClass &box, const Vector3 &move, const TriClass &tri, const Vector3 &trimove)
 
 BTCollisionStruct (const OBBoxClass &box, const Vector3 &move, const TriClass &tri, const Vector3 &trimove)
 
void Reset (void)
 

Public Attributes

bool StartBad
 
float MaxFrac
 
int AxisId
 
int Side
 
int Point
 
int TestAxisId
 
int TestSide
 
int TestPoint
 
Vector3 TestAxis
 
Vector3 D
 
Vector3 Move
 
float AE [3][3]
 
float AN [3]
 
Vector3 AxE [3][3]
 
Vector3 E [3]
 
Vector3 N
 
Vector3 FinalD
 
const AABoxClassBox
 
const TriClassTri
 
const Vector3BoxMove
 
const Vector3TriMove
 
Vector3 A [3]
 
const OBBoxClassBox
 
const TriClassTri
 
const Vector3BoxMove
 
const Vector3TriMove
 

Detailed Description

BoxTriColStruct Scratchpad variables for the OBBox-Triangle collision detection functions. One instance of this structure will be used for all of the local variables and its pointer will be handed of to various inline functions for the axis tests. Note that much of the code needs the un-normalized triangle normal. For this reason, I have to compute N rather than copying it from the triangle. (commenting this to avoid re-generating a difficult to find bug that I had)

Note that the MaxFrac variable starts negative so that we can accept slightly negative fractions (interpenetrations). But we clamp the returned result to 0.0 so that we never allow an object to get more embedded, just to possibly break itself free if it is within the epsilon. This is important because sometimes objects seem to intersect simply due to floating point roundoff error...

Definition at line 123 of file colmathaabtri.cpp.

Constructor & Destructor Documentation

◆ BTCollisionStruct() [1/2]

BTCollisionStruct::BTCollisionStruct ( void )
inline

Definition at line 125 of file colmathaabtri.cpp.

◆ BTCollisionStruct() [2/2]

BTCollisionStruct::BTCollisionStruct ( const OBBoxClass & box,
const Vector3 & move,
const TriClass & tri,
const Vector3 & trimove )
inline

Definition at line 139 of file colmathobbtri.cpp.

Member Function Documentation

◆ Init()

void BTCollisionStruct::Init ( const AABoxClass & box,
const Vector3 & move,
const TriClass & tri,
const Vector3 & trimove )
inline

Definition at line 127 of file colmathaabtri.cpp.

◆ Reset()

void BTCollisionStruct::Reset ( void )
inline

Definition at line 148 of file colmathobbtri.cpp.

Member Data Documentation

◆ A

Vector3 BTCollisionStruct::A[3]

Definition at line 187 of file colmathobbtri.cpp.

◆ AE

float BTCollisionStruct::AE

Definition at line 163 of file colmathaabtri.cpp.

◆ AN

float BTCollisionStruct::AN

Definition at line 164 of file colmathaabtri.cpp.

◆ AxE

Vector3 BTCollisionStruct::AxE

Definition at line 165 of file colmathaabtri.cpp.

◆ AxisId

int BTCollisionStruct::AxisId

Definition at line 152 of file colmathaabtri.cpp.

◆ Box [1/2]

const AABoxClass* BTCollisionStruct::Box

Definition at line 171 of file colmathaabtri.cpp.

◆ Box [2/2]

const OBBoxClass& BTCollisionStruct::Box

Definition at line 192 of file colmathobbtri.cpp.

◆ BoxMove [1/2]

const Vector3* BTCollisionStruct::BoxMove

Definition at line 173 of file colmathaabtri.cpp.

◆ BoxMove [2/2]

const Vector3& BTCollisionStruct::BoxMove

Definition at line 194 of file colmathobbtri.cpp.

◆ D

Vector3 BTCollisionStruct::D

Definition at line 161 of file colmathaabtri.cpp.

◆ E

Vector3 BTCollisionStruct::E

Definition at line 167 of file colmathaabtri.cpp.

◆ FinalD

Vector3 BTCollisionStruct::FinalD

Definition at line 169 of file colmathaabtri.cpp.

◆ MaxFrac

float BTCollisionStruct::MaxFrac

Definition at line 150 of file colmathaabtri.cpp.

◆ Move

Vector3 BTCollisionStruct::Move

Definition at line 162 of file colmathaabtri.cpp.

◆ N

Vector3 BTCollisionStruct::N

Definition at line 168 of file colmathaabtri.cpp.

◆ Point

int BTCollisionStruct::Point

Definition at line 154 of file colmathaabtri.cpp.

◆ Side

int BTCollisionStruct::Side

Definition at line 153 of file colmathaabtri.cpp.

◆ StartBad

bool BTCollisionStruct::StartBad

Definition at line 149 of file colmathaabtri.cpp.

◆ TestAxis

Vector3 BTCollisionStruct::TestAxis

Definition at line 159 of file colmathaabtri.cpp.

◆ TestAxisId

int BTCollisionStruct::TestAxisId

Definition at line 156 of file colmathaabtri.cpp.

◆ TestPoint

int BTCollisionStruct::TestPoint

Definition at line 158 of file colmathaabtri.cpp.

◆ TestSide

int BTCollisionStruct::TestSide

Definition at line 157 of file colmathaabtri.cpp.

◆ Tri [1/2]

const TriClass* BTCollisionStruct::Tri

Definition at line 172 of file colmathaabtri.cpp.

◆ Tri [2/2]

const TriClass& BTCollisionStruct::Tri

Definition at line 193 of file colmathobbtri.cpp.

◆ TriMove [1/2]

const Vector3* BTCollisionStruct::TriMove

Definition at line 174 of file colmathaabtri.cpp.

◆ TriMove [2/2]

const Vector3& BTCollisionStruct::TriMove

Definition at line 195 of file colmathobbtri.cpp.


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