Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
c_m3d_g_sph.h
Go to the documentation of this file.
1#ifndef C_M3D_G_SPH_H_
2#define C_M3D_G_SPH_H_
3
6#include "global.h"
7
8class cM3dGCyl;
9
10struct cM3dGSphS {
11 /* 0x0 */ Vec mCenter;
12 /* 0xC */ f32 mRadius;
13}; // Size: 0x10
14
15class cM3dGSph {
16private:
17public:
18 /* 0x00 */ cXyz mCenter;
19 /* 0x0C */ f32 mRadius;
20 /* 0x10 vtable */
21
23 virtual ~cM3dGSph() {}
24 void SetC(const cXyz&);
25 void Set(const cXyz&, f32);
26 void Set(const cM3dGSphS&);
27 void SetR(f32);
28 bool cross(const cM3dGSph*, cXyz*) const;
29 bool cross(const cM3dGCyl*, cXyz*) const;
30 inline bool cross(const cM3dGTri *param_1) const {
31 return cM3d_Cross_SphTri(this, param_1);
32 }
33 void GetMinMaxCube(cXyz&, cXyz&) const;
34 const cXyz& GetC(void) const { return mCenter; }
35 const cXyz* GetCP() const { return &mCenter; }
36 const f32 GetR(void) const { return mRadius; }
37 f32 GetCX(void) const { return mCenter.x; }
38 f32 GetCY(void) const { return mCenter.y; }
39 f32 GetCZ(void) const { return mCenter.z; }
40
41 bool Cross(const cM3dGSph* other, f32* f) const { return cM3d_Cross_SphSph(this, other, f); }
42 bool Cross(const cM3dGCps* cps, cXyz* xyz) const { return cM3d_Cross_CpsSph(*cps, *this, xyz); }
43 bool Cross(const cM3dGCyl* cyl, f32* f) const { return cM3d_Cross_CylSph(cyl, this, f); }
44}; // Size = 0x14
45
46STATIC_ASSERT(0x14 == sizeof(cM3dGSph));
47
48// additional symbols needed for cM3dGSph
49extern "C" {
51}
52
53#endif
T cLib_calcTimer(T *value)
Definition c_lib.h:74
bool cM3d_Cross_CylSph(cM3dGCyl const *cyl, cM3dGSph const *sph, f32 *param_2)
Definition c_m3d.cpp:1227
bool cM3d_Cross_CpsSph(cM3dGCps const &param_1, cM3dGSph const &param_2, Vec *param_3)
Definition c_m3d.cpp:1954
bool cM3d_Cross_SphSph(cM3dGSph const *sph1, cM3dGSph const *sph2, f32 *param_2)
Definition c_m3d.cpp:1284
bool cM3d_Cross_SphTri(cM3dGSph const *sph, cM3dGTri const *tri, Vec *param_2)
Definition c_m3d.cpp:1357
void Set__8cM3dGSphFRC4cXyzf(void)
STATIC_ASSERT(0x14==sizeof(cM3dGSph))
Definition c_m3d_g_cps.h:13
Definition c_m3d_g_tri.h:14
Definition d_a_hozelda.cpp:18
f32 z
Definition vec.h:11
f32 x
Definition vec.h:11
f32 y
Definition vec.h:11
Definition d_a_npc_fguard.cpp:126
Definition c_m3d_g_sph.h:10
Vec mCenter
Definition c_m3d_g_sph.h:11
f32 mRadius
Definition c_m3d_g_sph.h:12
Definition d_a_tag_allmato.cpp:94
cXyz mCenter
Definition c_m3d_g_sph.h:18
void SetC(const cXyz &)
Definition c_m3d_g_sph.cpp:10
const f32 GetR(void) const
Definition c_m3d_g_sph.h:36
virtual ~cM3dGSph()
Definition c_m3d_g_sph.h:23
f32 GetCZ(void) const
Definition c_m3d_g_sph.h:39
bool Cross(const cM3dGSph *other, f32 *f) const
Definition c_m3d_g_sph.h:41
const cXyz * GetCP() const
Definition c_m3d_g_sph.h:35
bool Cross(const cM3dGCyl *cyl, f32 *f) const
Definition c_m3d_g_sph.h:43
f32 GetCY(void) const
Definition c_m3d_g_sph.h:38
void GetMinMaxCube(cXyz &, cXyz &) const
Definition c_m3d_g_sph.cpp:45
bool Cross(const cM3dGCps *cps, cXyz *xyz) const
Definition c_m3d_g_sph.h:42
bool cross(const cM3dGSph *, cXyz *) const
Definition c_m3d_g_sph.cpp:33
void SetR(f32)
Definition c_m3d_g_sph.cpp:27
void Set(const cXyz &, f32)
f32 mRadius
Definition c_m3d_g_sph.h:19
const cXyz & GetC(void) const
Definition c_m3d_g_sph.h:34
f32 GetCX(void) const
Definition c_m3d_g_sph.h:37
bool cross(const cM3dGTri *param_1) const
Definition c_m3d_g_sph.h:30
void Set(cXyz const &, f32)
Definition c_m3d_g_sph.cpp:15
cM3dGSph()
Definition c_m3d_g_sph.h:22
Definition d_a_hozelda.cpp:20
float f32
Definition types.h:22