18#ifndef TRINITYSERVER_MOVEPLINE_H
19#define TRINITYSERVER_MOVEPLINE_H
23#include <G3D/Vector3.h>
62 Result_Arrived = 0x02,
63 Result_NextCycle = 0x04,
64 Result_NextSegment = 0x08
95 void computeParabolicElevation(
int32 time_point,
float& el)
const;
99 void reinit_spline_for_next_cycle();
119 template<
class UpdateHandler>
124 handler(_updateState(difftime));
125 while (difftime > 0);
131 do _updateState(difftime);
132 while (difftime > 0);
140 bool isCyclic()
const {
return splineflags.Cyclic; }
145 int32 currentPathIdx()
const;
151 std::string ToString()
const;
154 return time_passed > 0;
std::optional< T > Optional
Optional helper class to wrap optional values within.
int32 next_timestamp() const
Optional< TurnData > turn
Vector3 const & CurrentDestination() const
MySpline::ControlArray const & getPath() const
void updateState(int32 difftime)
Optional< AnimTierTransition > anim_tier
Optional< AnimTier > GetAnimation() const
MySpline const & _Spline() const
float vertical_acceleration
Vector3 const & FinalDestination() const
int32 _currentSplineIdx() const
int32 segment_time_elapsed() const
void updateState(int32 difftime, UpdateHandler &handler)
MoveSplineFlag splineflags
Optional< SpellEffectExtraData > spell_effect_extra
int32 timeRemaining() const
std::vector< Vector3 > ControlArray
ControlArray const & getPoints() const
Vector3 const & getPoint(index_type i) const
length_type length() const
float computeFallElevation(float t_passed, bool isSafeFall, float start_velocity=0.0f)
Location(Vector3 const &v, float o)
Location(Vector3 const &v)
Location(float x, float y, float z, float o)