FlightGear next
flightgear::NavaidWaypoint Class Reference

Waypoint based upon a navaid. More...

#include <waypoint.hxx>

Inherits flightgear::Waypt.

Inherited by flightgear::OffsetNavaidWaypoint.

Public Member Functions

 NavaidWaypoint (FGPositioned *aPos, RouteBase *aOwner)
 
 NavaidWaypoint (RouteBase *aOwner)
 
virtual SGGeod position () const
 
virtual FGPositionedsource () const
 The Positioned associated with this element, if one exists.
 
virtual std::string ident () const
 Identifier assoicated with the waypoint.
 
- Public Member Functions inherited from flightgear::Waypt
virtual ~Waypt ()
 
RouteBaseowner () const
 
double altitudeFt () const
 
double speed (RouteUnits aUnits=DEFAULT_UNITS) const
 
double altitude (RouteUnits aUnits=DEFAULT_UNITS) const
 
double constraintAltitude (RouteUnits aUnits=DEFAULT_UNITS) const
 
double speedKts () const
 
double speedMach () const
 
virtual RouteRestriction altitudeRestriction () const
 
virtual RouteRestriction speedRestriction () const
 
void setAltitude (double aAlt, RouteRestriction aRestrict, RouteUnits aUnits=DEFAULT_UNITS)
 
void setSpeed (double aSpeed, RouteRestriction aRestrict, RouteUnits aUnits=DEFAULT_UNITS)
 
void setConstraintAltitude (double aAlt)
 
virtual bool flag (WayptFlag aFlag) const
 Test if the specified flag is set for this element.
 
virtual unsigned int flags () const
 
void setFlag (WayptFlag aFlag, bool aV=true)
 
void saveAsNode (SGPropertyNode *node) const
 
bool matches (Waypt *aOther) const
 Test if this element and another are 'the same', i.e matching ident and lat/lon are approximately equal.
 
bool matches (FGPositioned *aPos) const
 Test if this element and positioned are the same, i.e matching ident and lat/lon are approximately equal.
 
bool matches (const SGGeod &aPos) const
 Test if this element and a position 'the same' this can be defined by either position, ident or both.
 
virtual double magvarDeg () const
 Magentic variation at/in the vicinity of the waypoint.
 
virtual double headingRadialDeg () const
 return the assoicated heading or radial for this waypoint.
 
virtual std::string icaoDescription () const
 icaoDescription - description of the waypoint in ICAO route plan format
 

Protected Member Functions

bool initFromProperties (SGPropertyNode_ptr aProp) override
 Persistence helper - read node properties from a file.
 
void writeToProperties (SGPropertyNode_ptr aProp) const override
 Persistence helper - save this element to a node.
 
virtual std::string type () const
 
- Protected Member Functions inherited from flightgear::Waypt
 Waypt (RouteBase *aOwner)
 

Protected Attributes

FGPositionedRef _navaid
 
- Protected Attributes inherited from flightgear::Waypt
double _altitude = 0.0
 
std::optional< double > _constraintAltitude
 some restriction types specify two altitudes, in which case this is the second value, corresponding to AltitudeCons in the level-D XML procedures format.
 
RouteUnits _altitudeUnits = ALTITUDE_FEET
 
double _speed = 0.0
 
RouteUnits _speedUnits = SPEED_KNOTS
 
RouteRestriction _altRestrict = RESTRICT_NONE
 
RouteRestriction _speedRestrict = RESTRICT_NONE
 

Additional Inherited Members

- Static Public Member Functions inherited from flightgear::Waypt
static WayptRef createFromProperties (RouteBase *aOwner, SGPropertyNode_ptr aProp)
 Factory method.
 
static WayptRef createFromString (RouteBase *aOwner, const std::string &s, const SGGeod &vicinity)
 Create a waypoint from the route manager's standard string format:
 
static WayptRef fromLatLonString (RouteBase *aOwner, const std::string &target)
 
- Protected Types inherited from flightgear::Waypt
typedef WayptFactoryFunction(RouteBase *aOwner)
 
- Static Protected Member Functions inherited from flightgear::Waypt
static void registerFactory (const std::string aNodeType, FactoryFunction *aFactory)
 

Detailed Description

Waypoint based upon a navaid.

In practice this means any Positioned element, excluding runways (see below)

Definition at line 62 of file waypoint.hxx.

Constructor & Destructor Documentation

◆ NavaidWaypoint() [1/2]

flightgear::NavaidWaypoint::NavaidWaypoint ( FGPositioned * aPos,
RouteBase * aOwner )

Definition at line 82 of file waypoint.cxx.

◆ NavaidWaypoint() [2/2]

flightgear::NavaidWaypoint::NavaidWaypoint ( RouteBase * aOwner)

Definition at line 91 of file waypoint.cxx.

Member Function Documentation

◆ ident()

std::string flightgear::NavaidWaypoint::ident ( ) const
virtual

Identifier assoicated with the waypoint.

Human-readable, but possibly quite terse, and definitiely not unique.

Reimplemented from flightgear::Waypt.

Definition at line 102 of file waypoint.cxx.

◆ initFromProperties()

bool flightgear::NavaidWaypoint::initFromProperties ( SGPropertyNode_ptr aProp)
overrideprotectedvirtual

Persistence helper - read node properties from a file.

Reimplemented from flightgear::Waypt.

Reimplemented in flightgear::OffsetNavaidWaypoint.

Definition at line 107 of file waypoint.cxx.

◆ position()

SGGeod flightgear::NavaidWaypoint::position ( ) const
virtual

Implements flightgear::Waypt.

Reimplemented in flightgear::OffsetNavaidWaypoint.

Definition at line 97 of file waypoint.cxx.

◆ source()

virtual FGPositioned * flightgear::NavaidWaypoint::source ( ) const
inlinevirtual

The Positioned associated with this element, if one exists.

Reimplemented from flightgear::Waypt.

Definition at line 71 of file waypoint.hxx.

◆ type()

virtual std::string flightgear::NavaidWaypoint::type ( ) const
inlineprotectedvirtual

Implements flightgear::Waypt.

Reimplemented in flightgear::OffsetNavaidWaypoint.

Definition at line 80 of file waypoint.hxx.

◆ writeToProperties()

void flightgear::NavaidWaypoint::writeToProperties ( SGPropertyNode_ptr aProp) const
overrideprotectedvirtual

Persistence helper - save this element to a node.

Reimplemented from flightgear::Waypt.

Reimplemented in flightgear::OffsetNavaidWaypoint.

Definition at line 144 of file waypoint.cxx.

Member Data Documentation

◆ _navaid

FGPositionedRef flightgear::NavaidWaypoint::_navaid
protected

Definition at line 83 of file waypoint.hxx.


The documentation for this class was generated from the following files: