![]() |
TrinityCore
|
#include <MoveSpline.h>
Public Types | |
| enum | UpdateResult { Result_None = 0x01 , Result_Arrived = 0x02 , Result_NextCycle = 0x04 , Result_NextSegment = 0x08 } |
| typedef Spline< int32 > | MySpline |
Public Member Functions | |
| int32 | timeRemaining () const |
| int32 | timePassed () const |
| int32 | Duration () const |
| MySpline const & | _Spline () const |
| int32 | _currentSplineIdx () const |
| float | Velocity () const |
| void | _Finalize () |
| void | _Interrupt () |
| void | Initialize (MoveSplineInitArgs const &) |
| bool | Initialized () const |
| MoveSpline () | |
| template<class UpdateHandler > | |
| void | updateState (int32 difftime, UpdateHandler &handler) |
| void | updateState (int32 difftime) |
| Location | ComputePosition () const |
| Location | ComputePosition (int32 time_offset) const |
| uint32 | GetId () const |
| bool | Finalized () const |
| bool | isCyclic () const |
| bool | isFalling () const |
| bool | isTurning () const |
| Vector3 const & | FinalDestination () const |
| Vector3 const & | CurrentDestination () const |
| int32 | currentPathIdx () const |
| Optional< AnimTier > | GetAnimation () const |
| std::string | ToString () const |
| bool | HasStarted () const |
Public Attributes | |
| bool | onTransport |
| bool | splineIsFacingOnly |
Protected Member Functions | |
| void | init_spline (MoveSplineInitArgs const &args) |
| MySpline::ControlArray const & | getPath () const |
| Location | computePosition (int32 time_point, int32 point_index) const |
| void | computeParabolicElevation (int32 time_point, float &el) const |
| void | computeFallElevation (int32 time_point, float &el) const |
| UpdateResult | _updateState (int32 &ms_time_diff) |
| ============================================================================================ | |
| void | reinit_spline_for_next_cycle () |
| int32 | next_timestamp () const |
| int32 | segment_time_elapsed () const |
Protected Attributes | |
| MySpline | spline |
| FacingInfo | facing |
| uint32 | m_Id |
| MoveSplineFlag | splineflags |
| int32 | time_passed |
| float | vertical_acceleration |
| float | initialOrientation |
| int32 | effect_start_time |
| int32 | point_Idx |
| int32 | point_Idx_offset |
| float | velocity |
| Optional< SpellEffectExtraData > | spell_effect_extra |
| Optional< TurnData > | turn |
| Optional< AnimTierTransition > | anim_tier |
Friends | |
| class | WorldPackets::Movement::CommonMovement |
| class | WorldPackets::Movement::MonsterMove |
Definition at line 51 of file MoveSpline.h.
| typedef Spline<int32> Movement::MoveSpline::MySpline |
Definition at line 57 of file MoveSpline.h.
| Enumerator | |
|---|---|
| Result_None | |
| Result_Arrived | |
| Result_NextCycle | |
| Result_NextSegment | |
Definition at line 59 of file MoveSpline.h.
| Movement::MoveSpline::MoveSpline | ( | ) |
Definition at line 251 of file MoveSpline.cpp.
References splineflags.
|
inline |
Definition at line 108 of file MoveSpline.h.
| void Movement::MoveSpline::_Finalize | ( | ) |
Definition at line 425 of file MoveSpline.cpp.
References Duration(), Movement::SplineBase::last(), point_Idx, spline, splineflags, and time_passed.
Referenced by _updateState().
|
inline |
Definition at line 111 of file MoveSpline.h.
|
inline |
Definition at line 107 of file MoveSpline.h.
Referenced by WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
protected |
============================================================================================
Definition at line 327 of file MoveSpline.cpp.
References _Finalize(), ASSERT, Duration(), Finalized(), Movement::SplineBase::first(), Movement::SplineBase::isCyclic(), Movement::SplineBase::last(), next_timestamp(), point_Idx, reinit_spline_for_next_cycle(), Result_Arrived, Result_NextCycle, Result_NextSegment, Result_None, segment_time_elapsed(), spline, splineflags, and time_passed.
|
protected |
Definition at line 114 of file MoveSpline.cpp.
References Movement::computeFallElevation(), FinalDestination(), Movement::SplineBase::first(), Movement::SplineBase::getPoint(), Movement::MSToSec(), and spline.
Referenced by computePosition().
|
protected |
Definition at line 99 of file MoveSpline.cpp.
References Duration(), effect_start_time, Movement::MSToSec(), sDB2Manager, spell_effect_extra, and vertical_acceleration.
Referenced by computePosition().
| Location Movement::MoveSpline::ComputePosition | ( | ) | const |
Definition at line 75 of file MoveSpline.cpp.
References computePosition(), point_Idx, and time_passed.
Referenced by Movement::MoveSplineInit::Launch(), and Movement::MoveSplineInit::Stop().
Definition at line 80 of file MoveSpline.cpp.
References computePosition(), Duration(), Movement::SplineBase::first(), Movement::SplineBase::last(), Movement::Spline< length_type >::length(), point_Idx, spline, and time_passed.
|
protected |
Definition at line 27 of file MoveSpline.cpp.
References Movement::FacingInfo::angle, anim_tier, ASSERT, computeFallElevation(), computeParabolicElevation(), Movement::Spline< length_type >::evaluate_derivative(), Movement::Spline< length_type >::evaluate_percent(), Movement::FacingInfo::f, facing, Movement::Falling, Movement::MoveSplineFlag::HasFlag(), IN_MILLISECONDS, Initialized(), initialOrientation, Movement::JumpOrientationFixed, Movement::Spline< length_type >::length(), M_PI, Movement::MONSTER_MOVE_FACING_ANGLE, Movement::MONSTER_MOVE_FACING_SPOT, Movement::MONSTER_MOVE_NORMAL, Position::NormalizeOrientation(), Movement::Location::orientation, Movement::OrientationFixed, spline, splineflags, turn, Movement::FacingInfo::type, Movement::FacingInfo::x, and Movement::FacingInfo::y.
Referenced by ComputePosition(), and ComputePosition().
|
inline |
Definition at line 144 of file MoveSpline.h.
References Movement::SplineBase::getPoint().
| int32 Movement::MoveSpline::currentPathIdx | ( | ) | const |
Definition at line 432 of file MoveSpline.cpp.
References Finalized(), Movement::SplineBase::first(), isCyclic(), Movement::SplineBase::last(), point_Idx, point_Idx_offset, and spline.
Referenced by ToString().
|
inline |
Definition at line 106 of file MoveSpline.h.
References Movement::Spline< length_type >::length().
Referenced by _Finalize(), _updateState(), computeParabolicElevation(), ComputePosition(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), Movement::MoveSplineInit::Launch(), reinit_spline_for_next_cycle(), ToString(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
inline |
Definition at line 143 of file MoveSpline.h.
References Movement::SplineBase::getPoint(), and Movement::SplineBase::last().
Referenced by computeFallElevation(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
inline |
Definition at line 139 of file MoveSpline.h.
Referenced by _updateState(), currentPathIdx(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::Stop(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
Definition at line 147 of file MoveSpline.h.
|
inline |
Definition at line 138 of file MoveSpline.h.
Referenced by Movement::MoveSplineInit::Stop(), ToString(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
inlineprotected |
Definition at line 93 of file MoveSpline.h.
References Movement::SplineBase::getPoints().
Referenced by WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
inline |
Definition at line 152 of file MoveSpline.h.
|
protected |
Definition at line 156 of file MoveSpline.cpp.
References Movement::SplineBase::first(), Movement::MoveSplineInitArgs::flags, Movement::SplineBase::getPoint(), IN_MILLISECONDS, Movement::SplineBase::init_cyclic_spline(), Movement::SplineBase::init_spline(), Movement::MoveSplineInitArgs::initialOrientation, Movement::Spline< length_type >::initLengths(), Movement::SplineBase::isCyclic(), Movement::MoveSplineFlag::isSmooth(), Movement::SplineBase::last(), Movement::Spline< length_type >::length(), Movement::minimal_duration, Movement::SplineBase::ModeCatmullrom, Movement::SplineBase::ModeLinear, Movement::ParabolicInPlaceInitializer::parabolic_amplitude, Movement::MoveSplineInitArgs::parabolic_amplitude, Movement::MoveSplineInitArgs::path, point_Idx, Movement::Spline< length_type >::set_length(), spline, splineflags, Movement::FallInitializer::start_elevation, TC_LOG_ERROR, turn, Movement::MoveSplineInitArgs::velocity, and Movement::CommonInitializer::velocityInv.
Referenced by Initialize(), and reinit_spline_for_next_cycle().
| void Movement::MoveSpline::Initialize | ( | MoveSplineInitArgs const & | args | ) |
Definition at line 202 of file MoveSpline.cpp.
References anim_tier, Movement::MoveSplineInitArgs::animTier, Movement::Spline< length_type >::clear(), Duration(), Movement::MoveSplineInitArgs::effect_start_point, effect_start_time, facing, Movement::MoveSplineInitArgs::facing, Movement::MoveSplineInitArgs::fade_object_duration_ms, Movement::SplineBase::first(), Movement::MoveSplineInitArgs::flags, init_spline(), initialOrientation, Movement::MoveSplineInitArgs::initialOrientation, Movement::Spline< length_type >::length(), m_Id, Movement::MONSTER_MOVE_NORMAL, Movement::MSToSec(), Movement::MoveSplineInitArgs::parabolic_amplitude, Movement::MoveSplineInitArgs::path, Movement::MoveSplineInitArgs::path_Idx_offset, point_Idx_offset, spell_effect_extra, Movement::MoveSplineInitArgs::spellEffectExtra, spline, splineflags, Movement::MoveSplineInitArgs::splineId, splineIsFacingOnly, time_passed, turn, Movement::MoveSplineInitArgs::turnData, Movement::FacingInfo::type, velocity, Movement::MoveSplineInitArgs::velocity, and vertical_acceleration.
Referenced by Movement::MoveSplineInit::Launch(), reinit_spline_for_next_cycle(), and Movement::MoveSplineInit::Stop().
|
inline |
Definition at line 115 of file MoveSpline.h.
References Movement::SplineBase::empty().
Referenced by computePosition().
|
inline |
Definition at line 140 of file MoveSpline.h.
Referenced by currentPathIdx(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
inline |
Definition at line 141 of file MoveSpline.h.
|
inline |
Definition at line 142 of file MoveSpline.h.
Referenced by Movement::MoveSplineInit::Stop().
|
inlineprotected |
Definition at line 100 of file MoveSpline.h.
References Movement::Spline< length_type >::length().
Referenced by _updateState().
|
protected |
Definition at line 377 of file MoveSpline.cpp.
References Duration(), facing, Movement::MoveSplineInitArgs::facing, Movement::SplineBase::first(), Movement::MoveSplineInitArgs::flags, Movement::SplineBase::getPoints(), Movement::MoveSplineInitArgs::HasVelocity, init_spline(), Initialize(), initialOrientation, Movement::MoveSplineInitArgs::initialOrientation, Movement::SplineBase::last(), m_Id, onTransport, Movement::MoveSplineInitArgs::path, Movement::MoveSplineInitArgs::path_Idx_offset, point_Idx_offset, spline, splineflags, Movement::MoveSplineInitArgs::splineId, Movement::MoveSplineInitArgs::TransformForTransport, Movement::MoveSplineInitArgs::Validate(), and Movement::MoveSplineInitArgs::velocity.
Referenced by _updateState().
|
inlineprotected |
Definition at line 101 of file MoveSpline.h.
Referenced by _updateState().
|
inline |
Definition at line 105 of file MoveSpline.h.
Referenced by WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
inline |
Definition at line 104 of file MoveSpline.h.
References Duration.
| std::string Movement::MoveSpline::ToString | ( | ) | const |
Definition at line 405 of file MoveSpline.cpp.
References Movement::FacingInfo::angle, currentPathIdx(), Duration(), Movement::FacingInfo::f, facing, GetId(), Movement::MONSTER_MOVE_FACING_ANGLE, Movement::MONSTER_MOVE_FACING_SPOT, Movement::MONSTER_MOVE_FACING_TARGET, point_Idx, spline, splineflags, Movement::FacingInfo::target, time_passed, ObjectGuid::ToString(), Movement::MoveSplineFlag::ToString(), Movement::SplineBase::ToString(), Movement::FacingInfo::type, Movement::FacingInfo::x, Movement::FacingInfo::y, and Movement::FacingInfo::z.
|
inline |
Definition at line 128 of file MoveSpline.h.
References ASSERT.
|
inline |
Definition at line 120 of file MoveSpline.h.
References ASSERT.
|
inline |
Definition at line 109 of file MoveSpline.h.
|
friend |
Definition at line 53 of file MoveSpline.h.
|
friend |
Definition at line 54 of file MoveSpline.h.
|
protected |
Definition at line 88 of file MoveSpline.h.
Referenced by computePosition(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
protected |
Definition at line 82 of file MoveSpline.h.
Referenced by computeParabolicElevation(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
protected |
Definition at line 70 of file MoveSpline.h.
Referenced by computePosition(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), reinit_spline_for_next_cycle(), ToString(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
protected |
Definition at line 81 of file MoveSpline.h.
Referenced by computePosition(), Initialize(), and reinit_spline_for_next_cycle().
|
protected |
Definition at line 72 of file MoveSpline.h.
Referenced by Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), and reinit_spline_for_next_cycle().
| bool Movement::MoveSpline::onTransport |
Definition at line 149 of file MoveSpline.h.
Referenced by Movement::MoveSplineInit::Launch(), reinit_spline_for_next_cycle(), and Movement::MoveSplineInit::Stop().
|
protected |
Definition at line 83 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), ComputePosition(), ComputePosition(), currentPathIdx(), init_spline(), and ToString().
|
protected |
Definition at line 84 of file MoveSpline.h.
Referenced by currentPathIdx(), Initialize(), and reinit_spline_for_next_cycle().
|
protected |
Definition at line 86 of file MoveSpline.h.
Referenced by computeParabolicElevation(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
protected |
Definition at line 68 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), computeFallElevation(), ComputePosition(), computePosition(), currentPathIdx(), init_spline(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), reinit_spline_for_next_cycle(), and ToString().
|
protected |
Definition at line 74 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), computePosition(), init_spline(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), MoveSpline(), reinit_spline_for_next_cycle(), ToString(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
| bool Movement::MoveSpline::splineIsFacingOnly |
Definition at line 150 of file MoveSpline.h.
Referenced by Initialize(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
protected |
Definition at line 76 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), ComputePosition(), ComputePosition(), Initialize(), and ToString().
Definition at line 87 of file MoveSpline.h.
Referenced by computePosition(), init_spline(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().
|
protected |
Definition at line 85 of file MoveSpline.h.
Referenced by Initialize().
|
protected |
Definition at line 80 of file MoveSpline.h.
Referenced by computeParabolicElevation(), Initialize(), WorldPackets::Movement::MonsterMove::InitializeSplineData(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().