Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
c_m3d_g_lin.h
Go to the documentation of this file.
1#ifndef C_M3D_G_LIN_H
2#define C_M3D_G_LIN_H
3
5#include "global.h"
6
7// Line
8class cM3dGLin {
9 // private:
10public:
11 /* 0x00 */ cXyz mStart;
12 /* 0x0C */ cXyz mEnd;
13 /* 0x18 vtable */
14
16 cM3dGLin(const cXyz&, const cXyz&);
17 virtual ~cM3dGLin() {}
18 void SetStartEnd(const cXyz&, const cXyz&);
19 void SetStartEnd(const Vec&, const Vec&);
20 void CalcPos(Vec*, f32) const;
21 void CalcVec(Vec* pOut) const { PSVECSubtract(&this->mEnd, &this->mStart, pOut); }
22 void SetEnd(const cXyz&);
23
24 void set(const Vec& i_start, const Vec& i_end) { SetStartEnd(i_start, i_end); }
25 const cXyz* GetStartP() const { return &mStart; }
26 cXyz* GetStartP() { return &mStart; }
27 cXyz& GetStart() { return mStart; }
28 const cXyz& GetStart() const { return mStart; }
29
30 const cXyz* GetEndP() const { return &mEnd; }
31 cXyz* GetEndP() { return &mEnd; }
32 cXyz& GetEnd() { return mEnd; }
33 const cXyz& GetEnd() const { return mEnd; }
34 f32 GetLen() const { return PSVECDistance(&mStart, &mEnd); }
35}; // Size = 0x1C
36
37STATIC_ASSERT(0x1C == sizeof(cM3dGLin));
38
39#endif /* C_M3D_G_LIN_H */
STATIC_ASSERT(0x1C==sizeof(cM3dGLin))
Definition c_m3d_g_lin.h:8
const cXyz * GetEndP() const
Definition c_m3d_g_lin.h:30
cXyz mStart
Definition c_m3d_g_lin.h:11
f32 GetLen() const
Definition c_m3d_g_lin.h:34
const cXyz & GetEnd() const
Definition c_m3d_g_lin.h:33
void CalcVec(Vec *pOut) const
Definition c_m3d_g_lin.h:21
cM3dGLin()
Definition c_m3d_g_lin.h:15
cXyz & GetEnd()
Definition c_m3d_g_lin.h:32
void SetStartEnd(const cXyz &, const cXyz &)
Definition c_m3d_g_lin.cpp:13
virtual ~cM3dGLin()
Definition c_m3d_g_lin.h:17
const cXyz * GetStartP() const
Definition c_m3d_g_lin.h:25
const cXyz & GetStart() const
Definition c_m3d_g_lin.h:28
cXyz * GetEndP()
Definition c_m3d_g_lin.h:31
cXyz & GetStart()
Definition c_m3d_g_lin.h:27
void SetEnd(const cXyz &)
Definition c_m3d_g_lin.cpp:30
cXyz mEnd
Definition c_m3d_g_lin.h:12
void set(const Vec &i_start, const Vec &i_end)
Definition c_m3d_g_lin.h:24
void CalcPos(Vec *, f32) const
Definition c_m3d_g_lin.cpp:23
cXyz * GetStartP()
Definition c_m3d_g_lin.h:26
struct Vec Vec
Definition m_Do_lib.h:8
Definition c_xyz.h:7