2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-16 03:37:01 +00:00

Work on CPathCamera

This commit is contained in:
Jack Andersen
2018-06-25 19:24:31 -10:00
parent 21b25f72a3
commit 68504f5c3a
6 changed files with 339 additions and 16 deletions

View File

@@ -7,6 +7,8 @@
namespace urde
{
class CStateManager;
class CMaterialFilter;
class CCameraSpline
{
friend class CBallCamera;
@@ -31,10 +33,15 @@ public:
void UpdateSplineLength() { x44_length = CalculateSplineLength(); }
zeus::CTransform GetInterpolatedSplinePointByLength(float pos) const;
zeus::CVector3f GetInterpolatedSplinePointByTime(float time, float range) const;
float FindClosestLengthAlongSpline(float time, const zeus::CVector3f& p);
float FindClosestLengthOnSpline(float time, const zeus::CVector3f& p) const;
float ValidateLength(float t) const;
float ClampLength(const zeus::CVector3f& pos, bool collide,
const CMaterialFilter& filter, const CStateManager& mgr) const;
s32 GetSize() const { return x4_positions.size(); }
float GetLength() const { return x44_length; }
bool IsClosedLoop() const { return x48_closedLoop; }
};
}
#endif // __URDE_CCAMERASPLINE_HPP__