![]() |
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 | 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 |
| uint32 | GetId () const |
| bool | Finalized () const |
| bool | isCyclic () const |
| bool | isFalling () const |
| Vector3 const & | FinalDestination () const |
| Vector3 const & | CurrentDestination () const |
| int32 | currentPathIdx () const |
| bool | HasAnimation () const |
| AnimTier | GetAnimTier () const |
| std::string | ToString () const |
| bool | HasStarted () const |
Public Attributes | |
| bool | onTransport |
Protected Member Functions | |
| void | init_spline (MoveSplineInitArgs const &args) |
| MySpline::ControlArray const & | getPath () const |
| void | computeParabolicElevation (float &el) const |
| void | computeFallElevation (float &el) const |
| UpdateResult | _updateState (int32 &ms_time_diff) |
| ============================================================================================ | |
| int32 | next_timestamp () const |
| int32 | segment_time_elapsed () const |
| int32 | timeElapsed () 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 |
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 189 of file MoveSpline.cpp.
References Movement::MoveSplineFlag::done, and splineflags.
|
inline |
Definition at line 103 of file MoveSpline.h.
Referenced by SplineChainMovementGenerator::GetResumeInfo().
| void Movement::MoveSpline::_Finalize | ( | ) |
Definition at line 359 of file MoveSpline.cpp.
References Movement::MoveSplineFlag::done, Duration(), Movement::SplineBase::last(), point_Idx, spline, splineflags, and time_passed.
Referenced by _updateState().
|
inline |
Definition at line 106 of file MoveSpline.h.
References Movement::MoveSplineFlag::done.
Referenced by Unit::DisableSpline().
|
inline |
Definition at line 102 of file MoveSpline.h.
|
protected |
============================================================================================
Definition at line 262 of file MoveSpline.cpp.
References _Finalize(), ASSERT, Duration(), Movement::MoveSplineFlag::enter_cycle, facing, Finalized(), Movement::SplineBase::first(), Movement::SplineBase::getPointCount(), Movement::SplineBase::getPoints(), init_spline(), Initialize(), initialOrientation, Movement::SplineBase::isCyclic(), Movement::SplineBase::last(), m_Id, next_timestamp(), onTransport, point_Idx, point_Idx_offset, Result_Arrived, Result_NextCycle, Result_NextSegment, Result_None, segment_time_elapsed(), spline, splineflags, and time_passed.
|
protected |
Definition at line 81 of file MoveSpline.cpp.
References Movement::computeFallElevation(), FinalDestination(), Movement::SplineBase::first(), Movement::SplineBase::getPoint(), Movement::MSToSec(), spline, and time_passed.
Referenced by ComputePosition().
|
protected |
Definition at line 68 of file MoveSpline.cpp.
References Duration(), effect_start_time, Movement::MSToSec(), time_passed, and vertical_acceleration.
Referenced by ComputePosition().
| Location Movement::MoveSpline::ComputePosition | ( | ) | const |
Definition at line 26 of file MoveSpline.cpp.
References Movement::FacingInfo::angle, Movement::MoveSplineFlag::animation, ASSERT, Movement::MoveSplineFlag::backward, computeFallElevation(), computeParabolicElevation(), Movement::MoveSplineFlag::done, Movement::Spline< length_type >::evaluate_derivative(), Movement::Spline< length_type >::evaluate_percent(), Movement::FacingInfo::f, facing, Movement::MoveSplineFlag::Falling, Movement::MoveSplineFlag::falling, Movement::MoveSplineFlag::final_angle, Movement::MoveSplineFlag::final_point, Movement::MoveSplineFlag::hasFlag(), Initialized(), initialOrientation, Movement::MoveSplineFlag::isFacing(), Movement::Spline< length_type >::length(), M_PI, Movement::Location::orientation, Movement::MoveSplineFlag::OrientationFixed, Movement::MoveSplineFlag::parabolic, point_Idx, spline, splineflags, time_passed, Movement::FacingInfo::x, and Movement::FacingInfo::y.
Referenced by Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::Stop(), and Unit::UpdateSplinePosition().
|
inline |
Definition at line 137 of file MoveSpline.h.
References Movement::SplineBase::getPoint().
Referenced by FormationMovementGenerator::LaunchMovement().
| int32 Movement::MoveSpline::currentPathIdx | ( | ) | const |
Definition at line 366 of file MoveSpline.cpp.
References Finalized(), Movement::SplineBase::first(), isCyclic(), Movement::SplineBase::last(), point_Idx, point_Idx_offset, and spline.
Referenced by FlightPathMovementGenerator::DoUpdate(), and ToString().
|
inline |
Definition at line 101 of file MoveSpline.h.
References Movement::Spline< length_type >::length().
Referenced by _Finalize(), _updateState(), computeParabolicElevation(), Initialize(), Movement::MoveSplineInit::Launch(), Unit::SendFlightSplineSyncUpdate(), and ToString().
|
inline |
Definition at line 136 of file MoveSpline.h.
References Movement::SplineBase::getPoint(), and Movement::SplineBase::last().
Referenced by computeFallElevation(), MotionMaster::GetDestination(), and CharmInfo::SaveStayPosition().
|
inline |
Definition at line 133 of file MoveSpline.h.
References Movement::MoveSplineFlag::done.
Referenced by _updateState(), currentPathIdx(), FormationMovementGenerator::DoUpdate(), WaypointMovementGenerator< Creature >::DoUpdate(), RandomMovementGenerator< T >::DoUpdate(), HomeMovementGenerator< T >::DoUpdate(), MotionMaster::GetDestination(), SplineChainMovementGenerator::GetResumeInfo(), WorldSession::HandleMovementOpcode(), Unit::IsSplineEnabled(), Movement::MoveSplineInit::Launch(), FormationMovementGenerator::LaunchMovement(), Unit::SendFlightSplineSyncUpdate(), Unit::SetFacingTo(), Unit::SetFacingToObject(), Movement::MoveSplineInit::Stop(), Unit::StopMoving(), Unit::Update(), ChaseMovementGenerator::Update(), FollowMovementGenerator::Update(), GenericMovementGenerator::Update(), SplineChainMovementGenerator::Update(), Unit::UpdateSplineMovement(), and WorldSession::ValidateMovementInfo().
|
inline |
Definition at line 141 of file MoveSpline.h.
References Movement::MoveSplineFlag::animTier.
Referenced by Unit::UpdateSplineMovement().
|
inline |
Definition at line 132 of file MoveSpline.h.
Referenced by FormationMovementGenerator::DoUpdate(), Movement::MoveSplineInit::Stop(), and ToString().
|
inlineprotected |
Definition at line 90 of file MoveSpline.h.
References Movement::SplineBase::getPoints().
|
inline |
Definition at line 140 of file MoveSpline.h.
References Movement::MoveSplineFlag::animation.
Referenced by Unit::UpdateSplineMovement().
|
inline |
Definition at line 145 of file MoveSpline.h.
Referenced by Unit::StopMoving().
|
protected |
Definition at line 119 of file MoveSpline.cpp.
References Movement::MoveSplineFlag::cyclic, Movement::MoveSplineFlag::enter_cycle, Movement::MoveSplineFlag::falling, Movement::SplineBase::first(), Movement::MoveSplineInitArgs::flags, Movement::SplineBase::getPoint(), Movement::Spline< length_type >::init_cyclic_spline(), Movement::Spline< length_type >::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::MoveSplineInitArgs::path, point_Idx, Movement::Spline< length_type >::set_length(), spline, splineflags, TC_LOG_DEBUG, and Movement::MoveSplineInitArgs::velocity.
Referenced by _updateState(), and Initialize().
| void Movement::MoveSpline::Initialize | ( | MoveSplineInitArgs const & | args | ) |
Definition at line 153 of file MoveSpline.cpp.
References Movement::MoveSplineFlag::Animation, Movement::Spline< length_type >::clear(), Movement::MoveSplineFlag::done, Duration(), effect_start_time, facing, Movement::MoveSplineInitArgs::facing, Movement::MoveSplineInitArgs::flags, init_spline(), initialOrientation, Movement::MoveSplineInitArgs::initialOrientation, m_Id, Movement::MSToSec(), Movement::MoveSplineFlag::Parabolic, Movement::MoveSplineFlag::parabolic, Movement::MoveSplineInitArgs::parabolic_amplitude, Movement::MoveSplineInitArgs::path_Idx_offset, point_Idx_offset, spline, splineflags, Movement::MoveSplineInitArgs::splineId, time_passed, Movement::MoveSplineInitArgs::time_perc, velocity, Movement::MoveSplineInitArgs::velocity, and vertical_acceleration.
Referenced by _updateState(), Movement::MoveSplineInit::Launch(), and Movement::MoveSplineInit::Stop().
|
inline |
Definition at line 110 of file MoveSpline.h.
References Movement::SplineBase::empty().
Referenced by ComputePosition(), Unit::IsSplineEnabled(), and WorldSession::ValidateMovementInfo().
|
inline |
Definition at line 134 of file MoveSpline.h.
References Movement::MoveSplineFlag::cyclic.
Referenced by currentPathIdx(), Unit::SendFlightSplineSyncUpdate(), and GenericMovementGenerator::Update().
|
inline |
Definition at line 135 of file MoveSpline.h.
References Movement::MoveSplineFlag::falling.
Referenced by Unit::IsFalling().
|
inlineprotected |
Definition at line 95 of file MoveSpline.h.
References Movement::Spline< length_type >::length().
Referenced by _updateState().
|
inlineprotected |
Definition at line 96 of file MoveSpline.h.
Referenced by _updateState().
|
inlineprotected |
Definition at line 97 of file MoveSpline.h.
|
inline |
Definition at line 100 of file MoveSpline.h.
Referenced by Unit::SendFlightSplineSyncUpdate().
| std::string Movement::MoveSpline::ToString | ( | ) | const |
Definition at line 339 of file MoveSpline.cpp.
References Movement::FacingInfo::angle, currentPathIdx(), Duration(), Movement::FacingInfo::f, facing, Movement::MoveSplineFlag::final_angle, Movement::MoveSplineFlag::final_point, Movement::MoveSplineFlag::final_target, GetId(), point_Idx, spline, splineflags, Movement::FacingInfo::target, time_passed, ObjectGuid::ToString(), Movement::MoveSplineFlag::ToString(), Movement::SplineBase::ToString(), Movement::FacingInfo::x, Movement::FacingInfo::y, and Movement::FacingInfo::z.
Referenced by Unit::GetDebugInfo().
|
inline |
Definition at line 123 of file MoveSpline.h.
References ASSERT.
|
inline |
Definition at line 115 of file MoveSpline.h.
References ASSERT.
Referenced by Unit::UpdateSplineMovement().
|
inline |
Definition at line 104 of file MoveSpline.h.
Referenced by FormationMovementGenerator::LaunchMovement().
|
friend |
Definition at line 53 of file MoveSpline.h.
|
friend |
Definition at line 54 of file MoveSpline.h.
|
protected |
Definition at line 82 of file MoveSpline.h.
Referenced by computeParabolicElevation(), and Initialize().
|
protected |
Definition at line 70 of file MoveSpline.h.
Referenced by _updateState(), ComputePosition(), Initialize(), and ToString().
|
protected |
Definition at line 81 of file MoveSpline.h.
Referenced by _updateState(), ComputePosition(), and Initialize().
|
protected |
Definition at line 72 of file MoveSpline.h.
Referenced by _updateState(), and Initialize().
| bool Movement::MoveSpline::onTransport |
Definition at line 143 of file MoveSpline.h.
Referenced by _updateState(), Movement::MoveSplineInit::Launch(), CharmInfo::SaveStayPosition(), Movement::MoveSplineInit::Stop(), and Unit::UpdateSplinePosition().
|
protected |
Definition at line 83 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), ComputePosition(), currentPathIdx(), init_spline(), and ToString().
|
protected |
Definition at line 84 of file MoveSpline.h.
Referenced by _updateState(), currentPathIdx(), and Initialize().
|
protected |
Definition at line 68 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), computeFallElevation(), ComputePosition(), currentPathIdx(), init_spline(), Initialize(), and ToString().
|
protected |
Definition at line 74 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), ComputePosition(), init_spline(), Initialize(), MoveSpline(), and ToString().
|
protected |
Definition at line 76 of file MoveSpline.h.
Referenced by _Finalize(), _updateState(), computeFallElevation(), computeParabolicElevation(), ComputePosition(), Initialize(), and ToString().
|
protected |
Definition at line 85 of file MoveSpline.h.
Referenced by Initialize().
|
protected |
Definition at line 80 of file MoveSpline.h.
Referenced by computeParabolicElevation(), and Initialize().