#include "MoveSplineInitArgs.h"
|
| MoveSplineInitArgs (std::size_t path_capacity=16) |
|
bool | Validate (Unit *unit) const |
| ============================================================================================
|
|
◆ MoveSplineInitArgs()
Movement::MoveSplineInitArgs::MoveSplineInitArgs |
( |
std::size_t |
path_capacity = 16 | ) |
|
|
inline |
47 {
48 path.reserve(path_capacity);
49 }
PointsArray path
Definition MoveSplineInitArgs.h:51
References path.
◆ _checkPathBounds()
bool Movement::MoveSplineInitArgs::_checkPathBounds |
( |
| ) |
const |
|
private |
223 {
225 {
226 constexpr auto MAX_OFFSET = (1 << 11) / 2;
227 Vector3 middle = (
path.front() +
path.back()) / 2;
228 Vector3 offset;
230 {
231 offset =
path[i] - middle;
232 if (std::fabs(offset.x) >= MAX_OFFSET || std::fabs(offset.y) >= MAX_OFFSET || std::fabs(offset.z) >= MAX_OFFSET)
233 {
234 LOG_ERROR(
"movement",
"MoveSplineInitArgs::_checkPathBounds check failed");
235 return false;
236 }
237 }
238 }
239 return true;
240 }
std::uint32_t uint32
Definition Define.h:107
#define LOG_ERROR(filterType__,...)
Definition Log.h:157
@ Mask_CatmullRom
Definition MoveSplineFlag.h:71
MoveSplineFlag flags
Definition MoveSplineInitArgs.h:53
References flags, LOG_ERROR, Movement::MoveSplineFlag::Mask_CatmullRom, and path.
◆ Validate()
bool Movement::MoveSplineInitArgs::Validate |
( |
Unit * |
unit | ) |
const |
============================================================================================
Returns true to show that the arguments were configured correctly and MoveSpline initialization will succeed.
202 {
203#define CHECK(exp) \
204 if (!(exp)) \
205 { \
206 if (unit) \
207 LOG_ERROR("misc.movesplineinitargs", "MoveSplineInitArgs::Validate: expression '{}' failed for {}", #exp, unit->GetGUID().ToString()); \
208 else \
209 LOG_ERROR("misc.movesplineinitargs", "MoveSplineInitArgs::Validate: expression '{}' failed for cyclic spline continuation", #exp); \
210 return false;\
211 }
215
216 return true;
217#undef CHECK
218 }
float velocity
Definition MoveSplineInitArgs.h:55
float time_perc
Definition MoveSplineInitArgs.h:57
References CHECK, path, time_perc, and velocity.
Referenced by Movement::MoveSplineInit::Launch().
◆ facing
◆ flags
Referenced by _checkPathBounds(), Movement::MoveSpline::init_spline(), Movement::MoveSpline::Initialize(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MoveSplineInit(), Movement::MoveSplineInit::SetAnimation(), Movement::MoveSplineInit::SetCyclic(), Movement::MoveSplineInit::SetFacing(), Movement::MoveSplineInit::SetFacing(), Movement::MoveSplineInit::SetFacing(), Movement::MoveSplineInit::SetFall(), Movement::MoveSplineInit::SetFly(), Movement::MoveSplineInit::SetOrientationFixed(), Movement::MoveSplineInit::SetOrientationInversed(), Movement::MoveSplineInit::SetParabolic(), Movement::MoveSplineInit::SetSmooth(), Movement::MoveSplineInit::SetTransportEnter(), Movement::MoveSplineInit::SetTransportExit(), Movement::MoveSplineInit::SetWalk(), and Movement::MoveSplineInit::Stop().
◆ HasVelocity
bool Movement::MoveSplineInitArgs::HasVelocity {false} |
◆ initialOrientation
float Movement::MoveSplineInitArgs::initialOrientation {0.f} |
◆ parabolic_amplitude
float Movement::MoveSplineInitArgs::parabolic_amplitude {0.f} |
◆ path
◆ path_Idx_offset
int32 Movement::MoveSplineInitArgs::path_Idx_offset {0} |
◆ splineId
uint32 Movement::MoveSplineInitArgs::splineId {0} |
◆ time_perc
float Movement::MoveSplineInitArgs::time_perc {0.f} |
◆ TransformForTransport
bool Movement::MoveSplineInitArgs::TransformForTransport {true} |
◆ velocity
float Movement::MoveSplineInitArgs::velocity {0.f} |
The documentation for this struct was generated from the following files: