mirror of
https://github.com/zeldaret/tp
synced 2026-06-18 07:25:50 -04:00
38eca47ad5
* mass mng header * d_cc_d start * c_cc_d ok * tmp commit * almost, reordering of vtable functions * progress * more progress * cleanup, still non matching * mark all of d_cc_d as nonmatching to OK * c_cc_s * c_cc_s OK * d_cc_mass_s OK * cleanup * gameinfo __sinit, not OK * a bit of cleanup * format * remove asm Co-authored-by: lepelog <lepelog@users.noreply.github.com>
26 lines
732 B
C++
26 lines
732 B
C++
#ifndef C_M3C_G_PLA_H_
|
|
#define C_M3C_G_PLA_H_
|
|
|
|
#include "SSystem/SComponent/c_xyz.h"
|
|
#include "dolphin/types.h"
|
|
|
|
// Plane with a normal
|
|
class cM3dGPla {
|
|
public:
|
|
cXyz mNormal;
|
|
f32 mD;
|
|
cM3dGPla() {}
|
|
cM3dGPla(const cXyz*, f32);
|
|
virtual ~cM3dGPla() {}
|
|
bool crossInfLin(const cXyz&, const cXyz&, cXyz&) const;
|
|
void SetupNP0(const Vec&, const Vec&);
|
|
void SetupNP(const Vec&, const Vec&);
|
|
bool getCrossY(const cXyz&, f32*) const;
|
|
bool getCrossYLessD(const Vec&, f32*) const;
|
|
void Set(const cM3dGPla*);
|
|
f32 getPlaneFunc(const Vec* pPoint) const { return mD + PSVECDotProduct(&mNormal, pPoint); }
|
|
const cXyz& GetNP() const { return mNormal; }
|
|
f32 GetD() const { return mD; }
|
|
};
|
|
|
|
#endif |