Public Member Functions | |
RailSpline (u16 idx, System::MapdataPointInfo *info) | |
s32 | getEstimatorSampleCount () const override |
f32 | getEstimatorStep () const override |
const std::span< f32 > & | getPathPercentages () const override |
![]() | |
Rail (u16 idx, System::MapdataPointInfo *info) | |
virtual | ~Rail () |
void | addPoint (f32 scale, const EGG::Vector3f &point) |
void | checkSphereFull () |
u16 | pointCount () const |
bool | isOscillating () const |
const std::span< System::MapdataPointInfo::Point > & | points () const |
const EGG::Vector3f & | pointPos (u16 idx) const |
const EGG::Vector3f & | floorNrm (u16 idx) const |
Private Member Functions | |
f32 | getPathLength () const override |
const std::span< RailLineTransition > & | getLinearTransitions () const override |
const std::span< RailSplineTransition > & | getSplineTransitions () const override |
void | onPointsChanged () override |
void | onPointAdded () override |
void | invalidateTransitions (bool lastOnly) |
void | calcCubicBezierControlPoints (const EGG::Vector3f &p0, const EGG::Vector3f &p1, const EGG::Vector3f &p2, const EGG::Vector3f &p3, s32 count, RailSplineTransition &transition) |
f32 | estimateLength (const RailSplineTransition &transition, s32 count) |
EGG::Vector3f | calcCubicBezierP1 (const EGG::Vector3f &p0, const EGG::Vector3f &p1, const EGG::Vector3f &p2) const |
EGG::Vector3f | calcCubicBezierP2 (const EGG::Vector3f &p0, const EGG::Vector3f &p1, const EGG::Vector3f &p2) const |
EGG::Vector3f | cubicBezier (f32 t, const RailSplineTransition &transition) const |
Private Attributes | |
u16 | m_transitionCount |
std::span< RailSplineTransition > | m_transitions |
u32 | m_estimatorSampleCount |
f32 | m_estimatorStep |
std::span< f32 > | m_pathPercentages |
s32 | m_segmentCount |
f32 | m_pathLength |
bool | m_doNotAllocatePathPercentages |
Additional Inherited Members | |
![]() | |
![]() | |
u16 | m_pointCount |
bool | m_isOscillating |
std::span< System::MapdataPointInfo::Point > | m_points |
f32 | m_someScale |
|
0x806ED57C |
|
private0x806EE27C |
|
nodiscardprivate0x806EE408 |
|
nodiscardprivate0x806EE4B8 |
|
nodiscardprivate0x806EE72C |
|
nodiscardprivate0x806EE56C |
|
inlinenodiscardoverridevirtual0x806EF994 |
Implements Field::Rail.
|
inlinenodiscardoverridevirtual0x806EF98C |
Implements Field::Rail.
|
inlinenodiscardoverrideprivatevirtual0x806EF9A4 |
Implements Field::Rail.
|
inlinenodiscardoverrideprivatevirtual0x806EF9AC |
Implements Field::Rail.
|
inlinenodiscardoverridevirtual0x806EF984 |
Implements Field::Rail.
|
inlinenodiscardoverrideprivatevirtual0x806EF99C |
Implements Field::Rail.
|
private0x806EDA04 |
|
overrideprivatevirtual0x806ED960 |
Implements Field::Rail.
|
overrideprivatevirtual0x806ED8BC |
Implements Field::Rail.
|
private |
|
private |