15#ifndef WSFPATHGUIDANCE_HPP
16#define WSFPATHGUIDANCE_HPP
18#include "wsf_export.h"
69 virtual bool Initialize(
double aSimTime);
70 virtual bool ProcessInput(UtInput& aInput);
71 virtual void Update(
double aSimTime);
73 void TriggerExtrapolation();
88 virtual double GetAltitude()
const;
89 virtual double GetSpeed()
const;
111 void SetLatLon(
double aLatitude,
double aLongitude);
113 void SetClimbRate(
double aClimbRate);
114 void SetLLA(
double aLatitude,
119 void SetSpeed(
double aSpeed);
120 void SetAxialAccel(
double aAxialAccel);
121 void SetRadialAccel(
double aRadialAccel);
129 bool IsSet(
int aMask);
149 double ChosenHeading()
const;
152 void PrintValidityMap(
double aSimTime)
const;
155 double& aPlatformHeading,
156 double& aPlatformPitch,
157 double& aPlatformRoll,
158 double& aHeadingChangeMag,
159 double& aHdgChgDirection,
160 double& aGroundSpeed,
162 double& aGroundDistTo);
184 const double*
TgtWCS()
const {
return mTgtWCS; }
188 std::string PrintBool(
int aMask)
const;
189 void SetValid(
int aSetMask);
192 void PrivateSetAltitude(
double aValue);
aObjectPtr Update(simTime)
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfMover.hpp:37
Definition WsfPathGuidance.hpp:39
bool SegmentDistIsSet() const
Definition WsfPathGuidance.hpp:140
bool HeadingIsSet() const
Definition WsfPathGuidance.hpp:134
double GetSegmentEndDist() const
Definition WsfPathGuidance.hpp:96
bool TurnRateIsSet() const
Definition WsfPathGuidance.hpp:137
@ cSPEED
Speed value is valid.
Definition WsfPathGuidance.hpp:45
@ cCLIMB_RATE
Climb Rate value is valid.
Definition WsfPathGuidance.hpp:47
@ cALTITUDE
Altitude value is valid.
Definition WsfPathGuidance.hpp:48
@ cHEADING
Heading value is valid.
Definition WsfPathGuidance.hpp:49
@ cLAT_LON
Latitude and Longitude values are valid.
Definition WsfPathGuidance.hpp:52
@ cRADIAL_ACCEL
Radial Acceleration value is valid.
Definition WsfPathGuidance.hpp:51
@ cTURN_RATE
Turn Rate value is valid.
Definition WsfPathGuidance.hpp:50
@ cAXIAL_ACCEL
Axial Acceleration value is valid.
Definition WsfPathGuidance.hpp:46
@ cSEGMENT_DIST
Segment Distance value is valid.
Definition WsfPathGuidance.hpp:54
@ cTURN_DETERMINED
Absolute Heading value (to an LLA point) has been calculated.
Definition WsfPathGuidance.hpp:55
@ cSEGMENT_TIME
Segment Time value is valid.
Definition WsfPathGuidance.hpp:53
bool IsPaused() const
Definition WsfPathGuidance.hpp:85
double GetAxialAccel() const
Definition WsfPathGuidance.hpp:97
double GetPauseTime() const
Definition WsfPathGuidance.hpp:86
virtual bool DetermineTheTurn(double aSimTime)
Definition WsfPathGuidance.cpp:558
bool AxialAccelIsSet() const
Definition WsfPathGuidance.hpp:135
WsfPath::Switch GetSwitch() const
Definition WsfPathGuidance.hpp:104
WsfPathGuidance()
Construct a path guidance object.
Definition WsfPathGuidance.cpp:29
bool mDebug
Definition WsfPathGuidance.hpp:176
WsfMover * GetMover() const
Get the mover to whom guidance is being provided.
Definition WsfPathGuidance.hpp:67
bool SpeedIsSet() const
Definition WsfPathGuidance.hpp:131
WsfPath::TurnDirection ChosenDirection() const
Definition WsfPathGuidance.hpp:150
double GetRawHeading() const
Definition WsfPathGuidance.hpp:91
void SetHdgRef(WsfPath::HdgRef aHdgRef)
Definition WsfPathGuidance.cpp:375
WsfPath::AltRef GetAltRef() const
Definition WsfPathGuidance.hpp:101
bool IsInitialized() const
Definition WsfPathGuidance.hpp:84
bool IsSet(int aMask)
Definition WsfPathGuidance.cpp:241
const double * TgtWCS() const
Definition WsfPathGuidance.hpp:184
double GetTurnRate() const
Definition WsfPathGuidance.hpp:99
bool mIsChanged
Definition WsfPathGuidance.hpp:178
double GetRadialAccel() const
Definition WsfPathGuidance.hpp:98
bool IsExtrapolating() const
Definition WsfPathGuidance.hpp:82
void SetTurnRate(double aTurnRate)
bool mKeepLevel
Definition WsfPathGuidance.hpp:181
bool mIsOnRoad
Definition WsfPathGuidance.hpp:180
void SetSegmentEndDist(double aSegmentDist)
Definition WsfPathGuidance.cpp:394
bool IsOnGround() const
Definition WsfPathGuidance.hpp:80
bool TurnIsDetermined() const
Definition WsfPathGuidance.hpp:148
void ClearChosenDir()
Definition WsfPathGuidance.hpp:172
void GetWPTargetInfo(double aVelNED[3], double &aPlatformHeading, double &aPlatformPitch, double &aPlatformRoll, double &aHeadingChangeMag, double &aHdgChgDirection, double &aGroundSpeed, double &aTotalSpeed, double &aGroundDistTo)
WsfPath::HdgRef GetHdgRef() const
Definition WsfPathGuidance.hpp:102
bool HdgAltAndSpeedSet() const
Definition WsfPathGuidance.hpp:145
void SetMover(WsfMover *aMoverPtr)
Definition WsfPathGuidance.hpp:64
bool mInitialized
Definition WsfPathGuidance.hpp:177
bool LLA_IsSet() const
Definition WsfPathGuidance.hpp:143
double mPauseTime
Definition WsfPathGuidance.hpp:182
bool IsChanged() const
Definition WsfPathGuidance.hpp:79
virtual bool SetNewGuidance(double aSimTime)
Definition WsfPathGuidance.cpp:213
virtual double GetRadialAccelAtPoint(const WsfWaypoint &aPoint) const
Definition WsfPathGuidance.cpp:94
double GetLongitude() const
Definition WsfPathGuidance.hpp:94
void DecrementPauseTime(double aValue)
Definition WsfPathGuidance.hpp:107
double GetClimbRate() const
Definition WsfPathGuidance.hpp:92
bool IsOnRoad() const
Definition WsfPathGuidance.hpp:81
virtual bool ReviseGuidance(double aSimTime)
Definition WsfPathGuidance.cpp:229
virtual bool BeginExtrapolation(double aSimTime)
Definition WsfPathGuidance.cpp:185
WsfPath::TurnDirection GetTurnDir() const
Definition WsfPathGuidance.hpp:103
bool AltIsSet() const
Definition WsfPathGuidance.hpp:132
void SetPauseTime(double aValue)
Definition WsfPathGuidance.hpp:108
bool SegmentTimeIsSet() const
Definition WsfPathGuidance.hpp:139
double GetSegmentEndTime() const
Definition WsfPathGuidance.hpp:95
void SetTurnDir(WsfPath::TurnDirection aTurnDir)
Definition WsfPathGuidance.cpp:495
void SetSwitch(WsfPath::Switch aMoverDefault, WsfPath::Switch aWP_SwitchOverride)
Definition WsfPathGuidance.cpp:502
void SetSegmentEndTime(double aSegmentTime)
Definition WsfPathGuidance.cpp:410
bool RadialAccelIsSet() const
Definition WsfPathGuidance.hpp:138
bool mIsOnGround
Definition WsfPathGuidance.hpp:179
bool HdgAndAltSet() const
Definition WsfPathGuidance.hpp:144
bool ClimbRateIsSet() const
Definition WsfPathGuidance.hpp:136
bool IsStopping() const
Definition WsfPathGuidance.hpp:83
void ClearValid(int aClearMask)
Definition WsfPathGuidance.cpp:235
double GetLatitude() const
Definition WsfPathGuidance.hpp:93
bool LatLonIsSet() const
Definition WsfPathGuidance.hpp:133
Definition WsfWaypoint.hpp:57
HdgRef
Heading reference option.
Definition WsfPath.hpp:60
AltRef
Altitude reference option.
Definition WsfPath.hpp:52
@ cALT_REF_MSL
Altitude is referenced to MSL.
Definition WsfPath.hpp:54
TurnDirection
Turn direction for TurnToHeading and TurnToRelativeHeading.
Definition WsfPath.hpp:88
@ cTURN_DIR_SHORTEST
Turn in the direction that results in the shortest turn (DEFAULT).
Definition WsfPath.hpp:90
Switch
Option setting when to react as a WsfWaypoint is approached.
Definition WsfPath.hpp:76
@ cSWITCH_EXTERNAL
via software commands, or in script, or the path is being extrapolated.
Definition WsfPath.hpp:82