FlightGear next
|
A mobile navaid, aka. More...
#include <navrecord.hxx>
Inherits FGNavRecord.
Public Member Functions | |
FGMobileNavRecord (PositionedID aGuid, Type type, const std::string &ident, const std::string &name, const SGGeod &aPos, int freq, int range, double multiuse, PositionedID aRunway) | |
virtual const SGGeod & | geod () const |
virtual const SGVec3d & | cart () const |
The cartesian position associated with this object. | |
void | updateVehicle () |
void | updatePos () |
void | clearVehicle () |
![]() | |
FGNavRecord (PositionedID aGuid, Type type, const std::string &ident, const std::string &name, const SGGeod &aPos, int freq, int range, double multiuse, PositionedID aRunway) | |
double | get_lon () const |
double | get_lat () const |
double | get_elev_ft () const |
int | get_freq () const |
int | get_range () const |
double | get_multiuse () const |
void | set_multiuse (double m) |
const char * | get_ident () const |
bool | get_serviceable () const |
const char * | get_trans_ident () const |
virtual const std::string & | name () const |
Return the name of this positioned. | |
FGRunwayRef | runway () const |
Retrieve the runway this navaid is associated with (for ILS/LOC/GS) | |
double | localizerWidth () const |
return the localizer width, in degrees computation is based up ICAO stdandard width at the runway threshold see implementation for further details. | |
double | glideSlopeAngleDeg () const |
extract the glide slope angle, in degrees, from the multiuse field Return 0.0 for non-GS navaids (including an ILS or LOC - you need to call this on the paired GS record. | |
void | bindToNode (SGPropertyNode *nd) const |
void | unbindFromNode (SGPropertyNode *nd) const |
void | setColocatedDME (PositionedID other) |
bool | hasDME () const |
PositionedID | colocatedDME () const |
bool | isVORTAC () const |
void | updateFromXML (const SGGeod &geod, double heading) |
![]() | |
virtual | ~FGPositioned () |
Type | type () const |
const char * | typeString () const |
const std::string & | ident () const |
PositionedID | guid () const |
double | latitude () const |
double | longitude () const |
double | elevation () const |
double | elevationM () const |
Static Public Member Functions | |
static bool | isType (FGPositioned::Type ty) |
![]() | |
static bool | isType (FGPositioned::Type ty) |
![]() | |
static bool | isAirportType (FGPositioned *pos) |
static bool | isRunwayType (FGPositioned *pos) |
static bool | isNavaidType (FGPositioned *pos) |
static FGPositionedList | findWithinRange (const SGGeod &aPos, double aRangeNm, Filter *aFilter) |
static FGPositionedList | findWithinRangePartial (const SGGeod &aPos, double aRangeNm, Filter *aFilter, bool &aPartial) |
static FGPositionedRef | findClosestWithIdent (const std::string &aIdent, const SGGeod &aPos, Filter *aFilter=NULL) |
static FGPositionedRef | findFirstWithIdent (const std::string &aIdent, Filter *aFilter) |
static FGPositionedList | findAllWithIdent (const std::string &aIdent, Filter *aFilter=NULL, bool aExact=true) |
Find all items with the specified ident. | |
static FGPositionedList | findAllWithName (const std::string &aName, Filter *aFilter=NULL, bool aExact=true) |
As above, but searches names instead of idents. | |
static void | sortByRange (FGPositionedList &, const SGGeod &aPos) |
Sort an FGPositionedList by distance from a position. | |
static FGPositionedRef | findClosest (const SGGeod &aPos, double aCutoffNm, Filter *aFilter=NULL) |
Find the closest item to a position, which pass the specified filter A cutoff range in NM must be specified, to constrain the search acceptably. | |
static FGPositionedList | findClosestN (const SGGeod &aPos, unsigned int aN, double aCutoffNm, Filter *aFilter=NULL) |
Find the closest N items to a position, which pass the specified filter A cutoff range in NM must be specified, to constrain the search acceptably. | |
static FGPositionedList | findClosestNPartial (const SGGeod &aPos, unsigned int aN, double aCutoffNm, Filter *aFilter, bool &aPartial) |
Same as above, but with a time-bound in msec too. | |
template<class T> | |
static SGSharedPtr< T > | loadById (PositionedID id) |
template<class T> | |
static SGSharedPtr< T > | loadById (const PositionedIDVec &id_vec, size_t index) |
template<class T> | |
static std::vector< SGSharedPtr< T > > | loadAllById (const PositionedIDVec &id_vec) |
static Type | typeFromName (const std::string &aName) |
Map a candidate type string to a real type. | |
static const char * | nameForType (Type aTy) |
Map a type to a human-readable string. | |
static FGPositionedRef | createWaypoint (FGPositioned::Type aType, const std::string &aIdent, const SGGeod &aPos, bool isTemporary=false, const std::string &aName={}) |
static bool | deleteWaypoint (FGPositionedRef aWpt) |
Protected Attributes | |
SGTimeStamp | _last_vehicle_update |
SGPropertyNode_ptr | _vehicle_node |
double | _initial_elevation_ft |
![]() | |
bool | serviceable |
![]() | |
const PositionedID | mGuid |
const Type | mType |
const std::string | mIdent |
Additional Inherited Members | |
![]() | |
enum | Type { INVALID = 0 , AIRPORT , HELIPORT , SEAPORT , RUNWAY , HELIPAD , TAXIWAY , PAVEMENT , WAYPOINT , FIX , NDB , VOR , ILS , LOC , GS , OM , MM , IM , DME , TACAN , MOBILE_TACAN , OBSTACLE , TOWER , FREQ_GROUND , FREQ_TOWER , FREQ_ATIS , FREQ_AWOS , FREQ_APP_DEP , FREQ_ENROUTE , FREQ_CLEARANCE , FREQ_UNICOM , PARKING , TAXI_NODE , COUNTRY , CITY , TOWN , VILLAGE , VISUAL_REPORTING_POINT , LAST_POI_TYPE , LAST_TYPE } |
![]() | |
FGPositioned (PositionedID aGuid, Type ty, const std::string &aIdent, const SGGeod &aPos) | |
void | modifyPosition (const SGGeod &newPos) |
void | invalidatePosition () |
![]() | |
static FGPositionedRef | loadByIdImpl (PositionedID id) |
A mobile navaid, aka.
a navaid which can change its position (eg. a mobile TACAN)
Definition at line 125 of file navrecord.hxx.
FGMobileNavRecord::FGMobileNavRecord | ( | PositionedID | aGuid, |
Type | type, | ||
const std::string & | ident, | ||
const std::string & | name, | ||
const SGGeod & | aPos, | ||
int | freq, | ||
int | range, | ||
double | multiuse, | ||
PositionedID | aRunway ) |
Definition at line 139 of file navrecord.cxx.
|
virtual |
The cartesian position associated with this object.
Reimplemented from FGPositioned.
Definition at line 162 of file navrecord.cxx.
void FGMobileNavRecord::clearVehicle | ( | ) |
Definition at line 169 of file navrecord.cxx.
|
virtual |
Reimplemented from FGPositioned.
Definition at line 155 of file navrecord.cxx.
|
inlinestatic |
Definition at line 129 of file navrecord.hxx.
void FGMobileNavRecord::updatePos | ( | ) |
Definition at line 229 of file navrecord.cxx.
void FGMobileNavRecord::updateVehicle | ( | ) |
Definition at line 174 of file navrecord.cxx.
|
protected |
Definition at line 155 of file navrecord.hxx.
|
protected |
Definition at line 153 of file navrecord.hxx.
|
protected |
Definition at line 154 of file navrecord.hxx.