WSF
WsfPM_Waypoint.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11// ****************************************************************************
12// Updated by Infoscitex, a DCS Company.
13// ****************************************************************************
14
15#ifndef WSFPM_WAYPOINT_HPP
16#define WSFPM_WAYPOINT_HPP
17
18#include "WsfPM_ObjectList.hpp"
20#include "WsfPProxyNode.hpp"
21
22class WSF_PARSER_EXPORT WsfPM_Waypoint : public WsfPProxyNode
23{
24public:
26 WsfPM_Waypoint(const WsfPProxyNode& aNode);
27
35
43
50
51 WaypointType GetWaypointType() const;
54 WsfProxy::Position Position() const noexcept;
57 WsfPProxyNode PositionNode() const noexcept;
58 WsfProxy::Speed Speed() const;
59 WsfProxy::Speed ClimbRate() const;
60 bool UseDefaultClimbRate() const;
61 WsfProxy::Speed DiveRate() const;
62 WsfProxy::Length Altitude() const;
63 WsfProxy::Length2 Offset() const;
64 WsfProxy::Angle HeadingChange() const;
70 WsfProxy::Int GetAltitudeReference() const;
77 wsf::proxy::AltitudeReferenceEnum AltitudeReferenceValue() const noexcept;
78 EndOfPathOption EndOfPath() const;
79 WsfProxy::Bool SwitchOnApproach() const;
80 TurnDirection GetTurnDirection() const;
81 WsfProxy::Acceleration LinearAcceleration() const;
82 bool UseDefaultLinearAcceleration() const;
83 WsfProxy::Acceleration RadialAcceleration() const;
84 bool UseDefaultRadialAcceleration() const;
85 WsfProxy::Angle BankAngleLimit() const;
86 WsfProxy::Acceleration TurnG_Limit() const;
87 WsfProxy::Time PauseTime() const;
88 WsfProxy::Length Distance() const;
89 WsfProxy::Time Time() const;
90 WsfProxy::Time* TimeToPoint() const { return GetValue().GetAttr("timeToPoint"); }
93 WsfProxy::Angle Heading() const noexcept;
96 WsfPProxyNode HeadingNode() const noexcept;
97 std::string ExecuteScript() const { return GetValue().GetAttr("executeScript").ValueToString(); }
98 std::string GotoLabel() const { return GetValue().GetAttr("gotoLabel").ValueToString(); }
99 std::string Label() const { return GetValue().GetAttr("label").ValueToString(); }
100
101 bool SetWaypointType(WaypointType aType);
102 bool SetAltitudeReference(const WsfProxy::Int& aAltRef);
103 bool SetAltitudeReferenceValue(wsf::proxy::AltitudeReferenceEnum aVal) noexcept;
104 bool SetAltitude(WsfProxy::Length aAltitude);
105 bool SetPosition(WsfProxy::Position aPosition);
106 bool SetOffset(WsfProxy::Length2 aOffset);
107 bool SetTurnDirection(TurnDirection aDirection);
108 bool SetGotoLabel(const std::string& aGoto);
109 bool SetRadialAcceleration(WsfProxy::Acceleration aRadialAccel);
110 bool SetEndOfPath(EndOfPathOption aEndOfPath);
111 bool SetSwitchOnApproach(WsfProxy::Bool aSwitchOnApproach);
112};
113
115
116namespace wsf
117{
118namespace proxy
119{
120
127std::string WSF_PARSER_EXPORT StringFromPosition(const WsfProxy::Position& aLatLon,
128 const WsfProxy::Length& aAltitude,
129 const WsfProxy::Int& aAltitudeRef) noexcept;
130
140bool WSF_PARSER_EXPORT PositionFromString(const std::string& aString,
141 WsfProxy::Position& aLatLon,
142 WsfProxy::Length& aAltitude,
143 WsfProxy::Int& aAltitudeRef) noexcept;
144
145} // namespace proxy
146} // namespace wsf
147#endif
WsfPM_ObjectList< WsfPM_Waypoint > WsfPM_WaypointList
Definition WsfPM_Waypoint.hpp:114
TurnDirection
Definition WsfSA_Predict.hpp:21
Definition WsfPM_ObjectList.hpp:53
TurnDirection
Definition WsfPM_Waypoint.hpp:45
@ cTD_SHORTEST
Definition WsfPM_Waypoint.hpp:46
@ cTD_RIGHT
Definition WsfPM_Waypoint.hpp:48
@ cTD_LEFT
Definition WsfPM_Waypoint.hpp:47
std::string Label() const
Definition WsfPM_Waypoint.hpp:99
std::string GotoLabel() const
Definition WsfPM_Waypoint.hpp:98
WsfProxy::Time Time() const
Definition WsfPM_Waypoint.cpp:208
WsfProxy::Time * TimeToPoint() const
Definition WsfPM_Waypoint.hpp:90
EndOfPathOption
Definition WsfPM_Waypoint.hpp:37
@ cEP_EXTRAPOLATE
Definition WsfPM_Waypoint.hpp:39
@ cEP_REMOVE
Definition WsfPM_Waypoint.hpp:41
@ cEP_STOP
Definition WsfPM_Waypoint.hpp:40
@ cEP_DEFAULT
Definition WsfPM_Waypoint.hpp:38
WaypointType
Definition WsfPM_Waypoint.hpp:29
@ cOFFSET
Definition WsfPM_Waypoint.hpp:31
@ cPOSITION
Definition WsfPM_Waypoint.hpp:30
@ cTURN
Definition WsfPM_Waypoint.hpp:32
@ cOTHER
Definition WsfPM_Waypoint.hpp:33
std::string ExecuteScript() const
Definition WsfPM_Waypoint.hpp:97
WsfPM_Waypoint()
Definition WsfPM_Waypoint.cpp:20
Definition WsfPProxyNode.hpp:60
WsfPProxyValue GetValue() const
Definition WsfPProxyNode.cpp:79
WsfPProxyNode()
Definition WsfPProxyNode.cpp:24
std::string ValueToString() const
Definition WsfPProxyValue.cpp:243
WsfPProxyValue GetAttr(const WsfPProxyKey &aEntry) const
Definition WsfPProxyValue.hpp:62
Definition WsfPProxyBasicValues.hpp:211
Definition WsfPProxyBasicValues.hpp:167
Definition WsfPProxyBasicValues.hpp:89
Definition WsfPProxyBasicValues.hpp:41
NumericUnitaryValueT< UtLengthValue, WsfProxy::cLENGTH_VALUE > Length
Definition WsfPProxyBasicValues.hpp:413
NumericValueT< int, WsfProxy::cINT_VALUE > Int
Definition WsfPProxyBasicValues.hpp:407
NumericUnitaryValueT< UtAngleValue, WsfProxy::cANGLE_VALUE > Angle
Definition WsfPProxyBasicValues.hpp:445
NumericUnitaryValueT< UtAccelerationValue, WsfProxy::cACCELERATION_VALUE > Acceleration
Definition WsfPProxyBasicValues.hpp:441
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Namespace for the WSF Parser Proxy.
Definition WsfPM_Waypoint.hpp:119
AltitudeReferenceEnum
Denotes altitude reference.
Definition WsfPProxyBasicValues.hpp:553
std::string WSF_PARSER_EXPORT StringFromPosition(const WsfProxy::Position &aLatLon, const WsfProxy::Length &aAltitude, const WsfProxy::Int &aAltitudeRef) noexcept
Definition WsfPM_Waypoint.cpp:307
bool WSF_PARSER_EXPORT PositionFromString(const std::string &aString, WsfProxy::Position &aLatLon, WsfProxy::Length &aAltitude, WsfProxy::Int &aAltitudeRef) noexcept
Definition WsfPM_Waypoint.cpp:334
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved