mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-22 06:20:02 -04:00
c_cc_d work
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "SSystem/SComponent/c_m3d.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_lin.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_tri.h"
|
||||
#include "global.h"
|
||||
|
||||
struct cM3dGCpsS {
|
||||
@@ -23,11 +24,10 @@ public:
|
||||
SetR(src.mRadius);
|
||||
}
|
||||
void SetCps(const cM3dGCps&);
|
||||
bool Cross(cM3dGCps const* other, cXyz* xyz) const {
|
||||
return cM3d_Cross_CpsCps(*this, *other, xyz);
|
||||
}
|
||||
bool Cross(cM3dGCps const* cps, cXyz* xyz) const { return cM3d_Cross_CpsCps(*this, *cps, 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); }
|
||||
bool Cross(cM3dGTri const& tri, cXyz* xyz) const { return cM3d_Cross_CpsTri(*this, tri, xyz); }
|
||||
void SetR(f32 r) { mRadius = r; }
|
||||
|
||||
}; // Size = 0x20
|
||||
|
||||
@@ -42,13 +42,13 @@ public:
|
||||
bool cross(const cM3dGCyl*, cXyz*) const;
|
||||
bool cross(const cM3dGSph*, f32*) const;
|
||||
bool cross(const cM3dGCyl*, f32*) const;
|
||||
bool Cross(const cM3dGCps* cps, cXyz* dst) const { return cM3d_Cross_CpsCyl(*cps, *this, dst); }
|
||||
bool Cross(const cM3dGTri& tri, cXyz* dst) const { return cM3d_Cross_CylTri(this, &tri, dst); }
|
||||
const cXyz* GetCP() const { return &mCenter; }
|
||||
f32 GetR() const { return mRadius; }
|
||||
f32 GetH() const { return mHeight; }
|
||||
cXyz& GetC() { return mCenter; }
|
||||
|
||||
void Cross(const cM3dGCps*, cXyz*) const {}
|
||||
void Cross(const cM3dGTri&, cXyz*) const {}
|
||||
void GetC() const {}
|
||||
void GetCP() {}
|
||||
void GetRP() {}
|
||||
|
||||
@@ -41,7 +41,6 @@ public:
|
||||
void GetD() const {}
|
||||
void Set(const cM3dGPla*) {}
|
||||
void SetupFrom3Vtx(const Vec*, const Vec*, const Vec*) {}
|
||||
cM3dGPla(const cM3dGPla&) {}
|
||||
cM3dGPla(const cXyz*, float) {}
|
||||
void cross(const cM3dGLin&, Vec&) const {}
|
||||
void getCrossYLessD(const Vec&, float*) const {}
|
||||
|
||||
@@ -27,8 +27,14 @@ public:
|
||||
SetC(src.mCenter);
|
||||
SetR(src.mRadius);
|
||||
}
|
||||
bool cross(const cM3dGSph*, cXyz*) const;
|
||||
bool Cross(const cM3dGCps* cps, cXyz* dst) const {
|
||||
return cM3d_Cross_CpsSph(*cps, *this, dst);
|
||||
}
|
||||
bool Cross(const cM3dGTri& tri, cXyz* dst) const {
|
||||
return cM3d_Cross_SphTri(this, &tri, dst);
|
||||
}
|
||||
bool cross(const cM3dGCyl*, cXyz*) const;
|
||||
bool cross(const cM3dGSph*, cXyz*) const;
|
||||
bool cross(const cM3dGSph*, f32*) const;
|
||||
const cXyz& GetC() const { return mCenter; }
|
||||
const cXyz* GetCP() const { return &mCenter; }
|
||||
|
||||
@@ -22,11 +22,14 @@ public:
|
||||
public:
|
||||
cM3dGTri() {}
|
||||
cM3dGTri(const Vec *pA, const Vec *pB, const Vec *pC);
|
||||
bool cross(const cM3dGCyl*, Vec*) const;
|
||||
|
||||
bool cross(const cM3dGLin* line, Vec* vec, bool param_3, bool param_4) const {
|
||||
return cM3d_Cross_LinTri(line, this, vec, param_3, param_4);
|
||||
}
|
||||
bool cross(const cM3dGCyl* cyl, Vec* out) const;
|
||||
|
||||
bool Cross(const cM3dGCps& cps, Vec* out) const { return cM3d_Cross_CpsTri(cps, *this, out); }
|
||||
bool Cross(const cM3dGCyl& cyl, Vec* out) const { return cross(&cyl, out); }
|
||||
bool Cross(const cM3dGSph& sph, Vec* out) const { return cM3d_Cross_SphTri(&sph, this, out); }
|
||||
bool Cross(const cM3dGTri& tri, Vec* out) const { return cM3d_Cross_TriTri(tri, *this, out); }
|
||||
|
||||
void Up(f32 dist) {
|
||||
Vec delta;
|
||||
PSVECScale(&mNormal, &delta, dist);
|
||||
@@ -37,11 +40,6 @@ public:
|
||||
}
|
||||
|
||||
// TODO
|
||||
void Cross(const cM3dGCps&, Vec*) const {}
|
||||
void Cross(const cM3dGCyl&, Vec*) const {}
|
||||
void Cross(const cM3dGSph&, Vec*) const {}
|
||||
void Cross(const cM3dGTri&, Vec*) const {}
|
||||
cM3dGTri(const cM3dGTri&) {}
|
||||
void crossX(const Vec*, f32*) const {}
|
||||
void crossY(const Vec*) const {}
|
||||
void crossZ(const Vec*, f32*) const {}
|
||||
|
||||
Reference in New Issue
Block a user