2022-09-18 05:55:13 +00:00
|
|
|
#ifndef _CPLANE_HPP
|
|
|
|
#define _CPLANE_HPP
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
2022-10-03 02:55:05 +00:00
|
|
|
#include "Kyoto/Math/CUnitVector3f.hpp"
|
2022-09-29 23:55:38 +00:00
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
|
2022-09-18 05:55:13 +00:00
|
|
|
class CPlane {
|
|
|
|
public:
|
2022-09-29 23:55:38 +00:00
|
|
|
CPlane(const CVector3f&, const CUnitVector3f&); // TODO weak
|
|
|
|
CPlane(float, const CUnitVector3f&); // TODO weak
|
|
|
|
CPlane(const CVector3f&, const CVector3f&, const CVector3f&);
|
2022-09-18 05:55:13 +00:00
|
|
|
// TODO
|
|
|
|
|
2022-09-29 23:55:38 +00:00
|
|
|
const CUnitVector3f& GetNormal() const { return x0_normal; }
|
|
|
|
f32 GetConstant() const { return xc_constant; }
|
|
|
|
// GetHeight__6CPlaneCFRC9CVector3f
|
|
|
|
// IsFacing__6CPlaneCFRC9CVector3f
|
2022-10-03 02:55:05 +00:00
|
|
|
float ClipLineSegment(const CVector3f& start, const CVector3f& end) const;
|
2022-09-29 23:55:38 +00:00
|
|
|
|
2022-09-18 05:55:13 +00:00
|
|
|
private:
|
2022-09-29 23:55:38 +00:00
|
|
|
CUnitVector3f x0_normal;
|
|
|
|
f32 xc_constant;
|
2022-09-18 05:55:13 +00:00
|
|
|
};
|
|
|
|
CHECK_SIZEOF(CPlane, 0x10)
|
|
|
|
|
2022-09-18 06:05:46 +00:00
|
|
|
#endif
|