mirror of https://github.com/zeldaret/tp.git
35 lines
904 B
C++
35 lines
904 B
C++
#ifndef C_M3D_G_CPS_H
|
|
#define C_M3D_G_CPS_H
|
|
|
|
#include "SSystem/SComponent/c_m3d.h"
|
|
#include "SSystem/SComponent/c_m3d_g_lin.h"
|
|
#include "SSystem/SComponent/c_xyz.h"
|
|
#include "dolphin/types.h"
|
|
|
|
struct cM3dGCpsS {
|
|
Vec mStart;
|
|
Vec mEnd;
|
|
f32 mRadius;
|
|
};
|
|
|
|
class cM3dGCps : public cM3dGLin {
|
|
public:
|
|
/* 0x1C */ f32 mRadius;
|
|
|
|
cM3dGCps(void);
|
|
virtual ~cM3dGCps(void);
|
|
void Set(const cXyz&, const cXyz&, f32);
|
|
void Set(const cM3dGCpsS&);
|
|
void SetCps(const cM3dGCps&);
|
|
bool Cross(cM3dGCps const* other, cXyz* xyz) const {
|
|
return cM3d_Cross_CpsCps(*this, *other, xyz);
|
|
}
|
|
bool Cross(cM3dGCyl const* cyl, cXyz* xyz) const { return cM3d_Cross_CpsCyl(*this, *cyl, xyz); }
|
|
bool Cross(cM3dGSph const* sph, cXyz* xyz) const { return cM3d_Cross_CpsSph(*this, *sph, xyz); }
|
|
|
|
}; // Size = 0x20
|
|
|
|
STATIC_ASSERT(0x20 == sizeof(cM3dGCps));
|
|
|
|
#endif /* C_M3D_G_CPS_H */
|