Files
tp/include/SSystem/SComponent/c_m3d_g_cps.h
T
lepelog 5be309a186 c_cc_d (#132)
* gnd check

* more c_bg_s

* start adding static asserts for size

* Add more size checks

* c_cc

* c_cc progress

* failed implementing cCcD_*Attr

* progress

* format

* try destructor

* data

* remove unused asm

* remove inlineCross

* remove functions that didn't belong there

* naming fix

* match cCcD_SphAttr::CalcAabBox

* cCcD_Stts::ClrTg

* c_cc_s and mass fixes
2021-06-12 18:20:45 -04:00

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 */