38 if (path_length < 0.0f)
47 time = std::sqrt(2.0f * path_length /
gravity);
54 time = std::sqrt(2.0f * path_length /
gravity);
70 if (start_velocity > termVel)
71 start_velocity = termVel;
75 if (t_passed > terminal_time)
77 result = termVel * (t_passed - terminal_time) +
78 start_velocity * terminal_time +
79 gravity * terminal_time * terminal_time * 0.5f;
82 result = t_passed * (start_velocity + t_passed *
gravity * 0.5f);
90 for (Flags flag : EnumUtils::Iterate<Flags>())
91 if ((t & flag) != Flags(0))
98 PrintFlags<MoveSplineFlagEnum>(
Raw, str);
static char const * ToConstant(Enum value)
float constexpr terminalVelocity
Velocity bounds that makes fall speed limited.
float computeFallTime(float path_length, bool isSafeFall)
void PrintFlags(Flags t, std::string &str)
TC_GAME_API UInt32Counter splineIdGen
float constexpr terminalSafefallVelocity
float constexpr terminal_safeFall_length
float constexpr terminal_fallTime
float constexpr terminal_safeFall_fallTime
float computeFallElevation(float t_passed, bool isSafeFall, float start_velocity=0.0f)
TC_GAME_API std::string MovementFlags_ToString(MovementFlags flags)
float constexpr terminal_length
std::string ToString() const
EnumFlag< MoveSplineFlagEnum > Raw