Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
c_m3d.h File Reference

Go to the source code of this file.

Classes

struct  cM3d_Range
 

Functions

static void cM3d_InDivPos1 (const Vec *, const Vec *, f32, Vec *)
 
void cM3d_InDivPos2 (const Vec *, const Vec *, f32, Vec *)
 
f32 cM3d_Len2dSq (f32, f32, f32, f32)
 
bool cM3d_Len2dSqPntAndSegLine (f32, f32, f32, f32, f32, f32, f32 *, f32 *, f32 *)
 
bool cM3d_Len3dSqPntAndSegLine (const cM3dGLin *, const Vec *, Vec *, f32 *)
 
f32 cM3d_SignedLenPlaAndPos (const cM3dGPla *, const Vec *)
 
f32 cM3d_VectorProduct2d (f32, f32, f32, f32, f32, f32)
 
void cM3d_VectorProduct (const cXyz *, const cXyz *, const cXyz *, cXyz *)
 
void cM3d_CalcPla (const Vec *, const Vec *, const Vec *, Vec *, f32 *)
 
bool cM3d_Cross_AabAab (const cM3dGAab *, const cM3dGAab *)
 
bool cM3d_Cross_AabCyl (const cM3dGAab *, const cM3dGCyl *)
 
bool cM3d_Cross_AabSph (const cM3dGAab *, const cM3dGSph *)
 
static int cM3d_Check_LinLin (const cM3dGLin *, const cM3dGLin *, f32 *, f32 *)
 
static bool cM3d_CrossInfLineVsInfPlane_proc (f32, f32, const Vec *, const Vec *, Vec *)
 
bool cM3d_Cross_LinPla (const cM3dGLin *, const cM3dGPla *, Vec *, bool, bool)
 
bool cM3d_Cross_MinMaxBoxLine (const Vec *, const Vec *, const Vec *, const Vec *)
 
static bool cM3d_InclusionCheckPosIn3PosBox3d (const Vec *, const Vec *, const Vec *, const Vec *, f32)
 
static bool cM3d_InclusionCheckPosIn3PosBox2d (f32, f32, f32, f32, f32, f32, f32, f32, f32)
 
static bool cM3d_CrossX_Tri (const cM3dGTri *, const Vec *, f32)
 
static bool cM3d_CrossX_Tri (const cM3dGTri *, const Vec *)
 
static bool cM3d_CrossX_LinTri_proc (const cM3dGTri *, const Vec *)
 
bool cM3d_CrossY_Tri (const cM3dGTri *, const Vec *)
 
static bool cM3d_CrossY_LinTri_proc (const cM3dGTri *, const Vec *)
 
bool cM3d_CrossY_Tri (const Vec &, const Vec &, const Vec &, const cM3dGPla &, const Vec *)
 
bool cM3d_CrossY_Tri_Front (const Vec &, const Vec &, const Vec &, const Vec *)
 
static bool cM3d_CrossY_Tri (const cM3dGTri *, const Vec *, f32 *)
 
static bool cM3d_CrossY_Tri (const cM3dGTri *, const Vec *, f32)
 
static bool cM3d_CrossY_Tri (const cM3dGTri *, const Vec *, const cM3d_Range *, f32 *)
 
static bool cM3d_CrossZ_Tri (const cM3dGTri *, const Vec *, f32)
 
static bool cM3d_CrossZ_Tri (const cM3dGTri *, const Vec *)
 
static bool cM3d_CrossZ_LinTri_proc (const cM3dGTri *, const Vec *)
 
bool cM3d_Cross_LinTri (const cM3dGLin *, const cM3dGTri *, Vec *, bool, bool)
 
static bool cM3d_Cross_LinTri_Easy (const cM3dGTri *, const Vec *)
 
static bool cM3d_Cross_SphPnt (const cM3dGSph *, const Vec *)
 
bool cM3d_Cross_LinSph (const cM3dGLin *, const cM3dGSph *, Vec *)
 
int cM3d_Cross_LinSph_CrossPos (const cM3dGSph &, const cM3dGLin &, Vec *, Vec *)
 
bool cM3d_Cross_CylSph (const cM3dGCyl *, const cM3dGSph *, f32 *)
 
bool cM3d_Cross_CylSph (const cM3dGCyl *, const cM3dGSph *, Vec *, f32 *)
 
bool cM3d_Cross_SphSph (const cM3dGSph *, const cM3dGSph *, f32 *)
 
static bool cM3d_Cross_SphSph (const cM3dGSph *, const cM3dGSph *, f32 *, f32 *)
 
bool cM3d_Cross_SphSph (const cM3dGSph *, const cM3dGSph *, Vec *)
 
static void cM3d_CalcSphVsTriCrossPoint (const cM3dGSph *, const cM3dGTri *, Vec *)
 
bool cM3d_Cross_SphTri (const cM3dGSph *, const cM3dGTri *, Vec *)
 
bool cM3d_Cross_SphTri (const cM3dGSph *param_0, const cM3dGTri *param_1)
 
bool cM3d_Cross_CylCyl (const cM3dGCyl *, const cM3dGCyl *, f32 *)
 
bool cM3d_Cross_CylCyl (const cM3dGCyl *, const cM3dGCyl *, Vec *)
 
bool cM3d_Cross_CylTri (const cM3dGCyl *, const cM3dGTri *, Vec *)
 
int cM3d_Cross_CylLin (const cM3dGCyl *, const cM3dGLin *, Vec *, Vec *)
 
static int cM3d_Cross_CylPntPnt (const cM3dGCyl *, const Vec *, const Vec *, Vec *, Vec *)
 
static bool cM3d_Cross_CylPnt (const cM3dGCyl *, const Vec *)
 
bool cM3d_Cross_CpsCps (const cM3dGCps &, const cM3dGCps &, Vec *)
 
bool cM3d_Cross_CpsCyl (const cM3dGCps &, const cM3dGCyl &, Vec *)
 
static void cM3d_Cross_CpsSph_CrossPos (const cM3dGCps &, const cM3dGSph &, const Vec &, Vec *)
 
bool cM3d_Cross_CpsSph (const cM3dGCps &, const cM3dGSph &, Vec *)
 
bool cM3d_Cross_TriTri (const cM3dGTri &, const cM3dGTri &, Vec *)
 
bool cM3d_Cross_CpsTri (const cM3dGCps &, cM3dGTri, Vec *)
 
void cM3d_CalcVecAngle (const Vec &, short *, short *)
 
void cM3d_CalcVecZAngle (const Vec &, csXyz *)
 
static void cM3d_PlaneCrossLineProcWork (f32, f32, f32, f32, f32, f32, f32, f32 *, f32 *)
 
static int cM3d_2PlaneCrossLine (const cM3dGPla &, const cM3dGPla &, cM3dGLin *)
 
BOOL cM3d_3PlaneCrossPos (const cM3dGPla &, const cM3dGPla &, const cM3dGPla &, Vec *)
 
f32 cM3d_lineVsPosSuisenCross (const cM3dGLin *, const Vec *, Vec *)
 
f32 cM3d_lineVsPosSuisenCross (const Vec &, const Vec &, const Vec &, Vec *)
 
int cM3d_2PlaneLinePosNearPos (const cM3dGPla &, const cM3dGPla &, const Vec *, Vec *)
 
void cM3d_CrawVec (const Vec &, const Vec &, Vec *)
 
bool cM3d_IsZero (f32 f)
 
bool cM3d_IsZero_inverted (f32 param_0)
 
f32 cM3d_LenSq (const Vec *a, const Vec *b)
 

Variables

const f32 G_CM3D_F_ABS_MIN
 

Function Documentation

◆ cM3d_2PlaneCrossLine()

static int cM3d_2PlaneCrossLine ( const cM3dGPla ,
const cM3dGPla ,
cM3dGLin  
)
static

◆ cM3d_2PlaneLinePosNearPos()

int cM3d_2PlaneLinePosNearPos ( const cM3dGPla pPlaneA,
const cM3dGPla pPlaneB,
const Vec pVec,
Vec pVecOut 
)

◆ cM3d_3PlaneCrossPos()

BOOL cM3d_3PlaneCrossPos ( const cM3dGPla pPlaneA,
const cM3dGPla pPlaneB,
const cM3dGPla pPlaneC,
Vec pVecOut 
)

◆ cM3d_CalcPla()

void cM3d_CalcPla ( const Vec pVecA,
const Vec pVecB,
const Vec pVecC,
Vec pVecOut,
f32 pD 
)

◆ cM3d_CalcSphVsTriCrossPoint()

static void cM3d_CalcSphVsTriCrossPoint ( const cM3dGSph pSphere,
const cM3dGTri pTriangle,
Vec pVecOut 
)
static

◆ cM3d_CalcVecAngle()

void cM3d_CalcVecAngle ( const Vec ,
short ,
short  
)

◆ cM3d_CalcVecZAngle()

void cM3d_CalcVecZAngle ( const Vec param_0,
csXyz param_1 
)

◆ cM3d_Check_LinLin()

static int cM3d_Check_LinLin ( const cM3dGLin lin_a,
const cM3dGLin lin_b,
f32 dst_a,
f32 dst_b 
)
static

◆ cM3d_CrawVec()

void cM3d_CrawVec ( const Vec pVecA,
const Vec pVecB,
Vec pVecOut 
)

◆ cM3d_Cross_AabAab()

bool cM3d_Cross_AabAab ( const cM3dGAab pAabA,
const cM3dGAab pAabB 
)

◆ cM3d_Cross_AabCyl()

bool cM3d_Cross_AabCyl ( const cM3dGAab pAab,
const cM3dGCyl pCyl 
)

◆ cM3d_Cross_AabSph()

bool cM3d_Cross_AabSph ( const cM3dGAab pAab,
const cM3dGSph pSph 
)

◆ cM3d_Cross_CpsCps()

bool cM3d_Cross_CpsCps ( const cM3dGCps cps1,
const cM3dGCps cps2,
Vec param_2 
)

◆ cM3d_Cross_CpsCyl()

bool cM3d_Cross_CpsCyl ( const cM3dGCps cps,
const cM3dGCyl cyl,
Vec param_2 
)

◆ cM3d_Cross_CpsSph()

bool cM3d_Cross_CpsSph ( const cM3dGCps param_1,
const cM3dGSph param_2,
Vec param_3 
)

◆ cM3d_Cross_CpsSph_CrossPos()

static void cM3d_Cross_CpsSph_CrossPos ( const cM3dGCps ,
const cM3dGSph ,
const Vec ,
Vec  
)
static

◆ cM3d_Cross_CpsTri()

bool cM3d_Cross_CpsTri ( const cM3dGCps cps,
cM3dGTri  tri,
Vec param_2 
)

◆ cM3d_Cross_CylCyl() [1/2]

bool cM3d_Cross_CylCyl ( const cM3dGCyl cyl1,
const cM3dGCyl cyl2,
f32 param_2 
)

◆ cM3d_Cross_CylCyl() [2/2]

bool cM3d_Cross_CylCyl ( const cM3dGCyl cyl1,
const cM3dGCyl cyl2,
Vec param_2 
)

◆ cM3d_Cross_CylLin()

int cM3d_Cross_CylLin ( const cM3dGCyl cyl,
const cM3dGLin line,
Vec param_2,
Vec param_3 
)

◆ cM3d_Cross_CylPnt()

static bool cM3d_Cross_CylPnt ( const cM3dGCyl pCylinder,
const Vec pPoint 
)
static

◆ cM3d_Cross_CylPntPnt()

static int cM3d_Cross_CylPntPnt ( const cM3dGCyl ,
const Vec ,
const Vec ,
Vec ,
Vec  
)
static

◆ cM3d_Cross_CylSph() [1/2]

bool cM3d_Cross_CylSph ( const cM3dGCyl cyl,
const cM3dGSph sph,
f32 param_2 
)

◆ cM3d_Cross_CylSph() [2/2]

bool cM3d_Cross_CylSph ( const cM3dGCyl cyl,
const cM3dGSph sph,
Vec param_2,
f32 param_3 
)

◆ cM3d_Cross_CylTri()

bool cM3d_Cross_CylTri ( const cM3dGCyl cyl,
const cM3dGTri tri,
Vec param_2 
)

◆ cM3d_Cross_LinPla()

bool cM3d_Cross_LinPla ( const cM3dGLin lin,
const cM3dGPla pla,
Vec dst,
bool  a,
bool  b 
)

◆ cM3d_Cross_LinSph()

bool cM3d_Cross_LinSph ( const cM3dGLin line,
const cM3dGSph sph,
Vec param_2 
)

◆ cM3d_Cross_LinSph_CrossPos()

int cM3d_Cross_LinSph_CrossPos ( const cM3dGSph sph,
const cM3dGLin line,
Vec param_2,
Vec param_3 
)

◆ cM3d_Cross_LinTri()

bool cM3d_Cross_LinTri ( const cM3dGLin line,
const cM3dGTri tri,
Vec vec,
bool  param_3,
bool  param_4 
)

◆ cM3d_Cross_LinTri_Easy()

static bool cM3d_Cross_LinTri_Easy ( const cM3dGTri ,
const Vec  
)
static

◆ cM3d_Cross_MinMaxBoxLine()

bool cM3d_Cross_MinMaxBoxLine ( const Vec param_0,
const Vec param_1,
const Vec param_2,
const Vec param_3 
)

◆ cM3d_Cross_SphPnt()

static bool cM3d_Cross_SphPnt ( const cM3dGSph ,
const Vec  
)
static

◆ cM3d_Cross_SphSph() [1/3]

bool cM3d_Cross_SphSph ( const cM3dGSph sph1,
const cM3dGSph sph2,
f32 param_2 
)

◆ cM3d_Cross_SphSph() [2/3]

static bool cM3d_Cross_SphSph ( const cM3dGSph ,
const cM3dGSph ,
f32 ,
f32  
)
static

◆ cM3d_Cross_SphSph() [3/3]

bool cM3d_Cross_SphSph ( const cM3dGSph pSphereA,
const cM3dGSph pSphereB,
Vec pVecOut 
)

◆ cM3d_Cross_SphTri() [1/2]

bool cM3d_Cross_SphTri ( const cM3dGSph sph,
const cM3dGTri tri,
Vec param_2 
)

◆ cM3d_Cross_SphTri() [2/2]

bool cM3d_Cross_SphTri ( const cM3dGSph param_0,
const cM3dGTri param_1 
)
inline

◆ cM3d_Cross_TriTri()

bool cM3d_Cross_TriTri ( const cM3dGTri tri1,
const cM3dGTri tri2,
Vec param_2 
)

◆ cM3d_CrossInfLineVsInfPlane_proc()

static bool cM3d_CrossInfLineVsInfPlane_proc ( f32  ,
f32  ,
const Vec ,
const Vec ,
Vec  
)
static

◆ cM3d_CrossX_LinTri_proc()

static bool cM3d_CrossX_LinTri_proc ( const cM3dGTri ,
const Vec  
)
static

◆ cM3d_CrossX_Tri() [1/2]

static bool cM3d_CrossX_Tri ( const cM3dGTri ,
const Vec  
)
static

◆ cM3d_CrossX_Tri() [2/2]

static bool cM3d_CrossX_Tri ( const cM3dGTri ,
const Vec ,
f32   
)
static

◆ cM3d_CrossY_LinTri_proc()

static bool cM3d_CrossY_LinTri_proc ( const cM3dGTri ,
const Vec  
)
static

◆ cM3d_CrossY_Tri() [1/5]

bool cM3d_CrossY_Tri ( const cM3dGTri tri,
const Vec vec 
)

◆ cM3d_CrossY_Tri() [2/5]

static bool cM3d_CrossY_Tri ( const cM3dGTri ,
const Vec ,
const cM3d_Range ,
f32  
)
static

◆ cM3d_CrossY_Tri() [3/5]

static bool cM3d_CrossY_Tri ( const cM3dGTri ,
const Vec ,
f32  
)
static

◆ cM3d_CrossY_Tri() [4/5]

static bool cM3d_CrossY_Tri ( const cM3dGTri ,
const Vec ,
f32   
)
static

◆ cM3d_CrossY_Tri() [5/5]

bool cM3d_CrossY_Tri ( const Vec a,
const Vec b,
const Vec c,
const cM3dGPla plane,
const Vec vec 
)

◆ cM3d_CrossY_Tri_Front()

bool cM3d_CrossY_Tri_Front ( const Vec a,
const Vec b,
const Vec c,
const Vec vec 
)

◆ cM3d_CrossZ_LinTri_proc()

static bool cM3d_CrossZ_LinTri_proc ( const cM3dGTri ,
const Vec  
)
static

◆ cM3d_CrossZ_Tri() [1/2]

static bool cM3d_CrossZ_Tri ( const cM3dGTri ,
const Vec  
)
static

◆ cM3d_CrossZ_Tri() [2/2]

static bool cM3d_CrossZ_Tri ( const cM3dGTri ,
const Vec ,
f32   
)
static

◆ cM3d_InclusionCheckPosIn3PosBox2d()

static bool cM3d_InclusionCheckPosIn3PosBox2d ( f32  ,
f32  ,
f32  ,
f32  ,
f32  ,
f32  ,
f32  ,
f32  ,
f32   
)
static

◆ cM3d_InclusionCheckPosIn3PosBox3d()

static bool cM3d_InclusionCheckPosIn3PosBox3d ( const Vec pVecA,
const Vec pVecB,
const Vec pVecC,
const Vec pVecD,
f32  pF 
)
static

◆ cM3d_InDivPos1()

static void cM3d_InDivPos1 ( const Vec pVecA,
const Vec pVecB,
f32  pF,
Vec pOut 
)
static

◆ cM3d_InDivPos2()

void cM3d_InDivPos2 ( const Vec pVecA,
const Vec pVecB,
f32  pF,
Vec pOut 
)

◆ cM3d_IsZero()

bool cM3d_IsZero ( f32  f)
inline

◆ cM3d_IsZero_inverted()

bool cM3d_IsZero_inverted ( f32  param_0)
inline

◆ cM3d_Len2dSq()

f32 cM3d_Len2dSq ( f32  pX1,
f32  pY1,
f32  pX2,
f32  pY2 
)

◆ cM3d_Len2dSqPntAndSegLine()

bool cM3d_Len2dSqPntAndSegLine ( f32  param_1,
f32  param_2,
f32  param_3,
f32  param_4,
f32  p5,
f32  p6,
f32 param_7,
f32 param_8,
f32 param_9 
)

◆ cM3d_Len3dSqPntAndSegLine()

bool cM3d_Len3dSqPntAndSegLine ( const cM3dGLin pLine,
const Vec pVec,
Vec pOutVec,
f32 pOutF 
)

◆ cM3d_LenSq()

f32 cM3d_LenSq ( const Vec a,
const Vec b 
)
inline

◆ cM3d_lineVsPosSuisenCross() [1/2]

f32 cM3d_lineVsPosSuisenCross ( const cM3dGLin pLine,
const Vec pPoint,
Vec pVecOut 
)

◆ cM3d_lineVsPosSuisenCross() [2/2]

f32 cM3d_lineVsPosSuisenCross ( const Vec pLinePointA,
const Vec pLinePointB,
const Vec pPoint,
Vec pVecOut 
)

◆ cM3d_PlaneCrossLineProcWork()

static void cM3d_PlaneCrossLineProcWork ( f32  f1,
f32  f2,
f32  f3,
f32  f4,
f32  f5,
f32  f6,
f32  f7,
f32 pF1,
f32 pF2 
)
static

◆ cM3d_SignedLenPlaAndPos()

f32 cM3d_SignedLenPlaAndPos ( const cM3dGPla pPlane,
const Vec pPosition 
)

◆ cM3d_VectorProduct()

void cM3d_VectorProduct ( const cXyz pVecA,
const cXyz pVecB,
const cXyz pVecC,
cXyz pVecOut 
)

◆ cM3d_VectorProduct2d()

f32 cM3d_VectorProduct2d ( f32  pX1,
f32  pY1,
f32  pX2,
f32  pY2,
f32  pX3,
f32  pY3 
)

Variable Documentation

◆ G_CM3D_F_ABS_MIN

const f32 G_CM3D_F_ABS_MIN
extern