FlightGear next
|
#include <positioned.hxx>
Inherits SGReferenced.
Inherited by FGAirport, FGFix, FGMarkerBeaconRecord, FGNavRecord, FGPavement, FGRunwayBase, FGTaxiNode, POI, flightgear::AirportTower, and flightgear::CommStation.
Classes | |
class | Filter |
Predicate class to support custom filtering of FGPositioned queries Default implementation of this passes any FGPositioned instance. More... | |
class | TypeFilter |
Public Types | |
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 } |
Public Member Functions | |
virtual | ~FGPositioned () |
Type | type () const |
const char * | typeString () const |
const std::string & | ident () const |
virtual const std::string & | name () const |
Return the name of this positioned. | |
virtual const SGGeod & | geod () const |
PositionedID | guid () const |
virtual const SGVec3d & | cart () const |
The cartesian position associated with this object. | |
double | latitude () const |
double | longitude () const |
double | elevation () const |
double | elevationM () const |
Static Public Member Functions | |
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 Member Functions | |
FGPositioned (PositionedID aGuid, Type ty, const std::string &aIdent, const SGGeod &aPos) | |
void | modifyPosition (const SGGeod &newPos) |
void | invalidatePosition () |
Static Protected Member Functions | |
static FGPositionedRef | loadByIdImpl (PositionedID id) |
Protected Attributes | |
const PositionedID | mGuid |
const Type | mType |
const std::string | mIdent |
Friends | |
class | flightgear::NavDataCache |
Definition at line 27 of file positioned.hxx.
enum FGPositioned::Type |
Enumerator | |
---|---|
INVALID | |
AIRPORT | |
HELIPORT | |
SEAPORT | |
RUNWAY | |
HELIPAD | |
TAXIWAY | |
PAVEMENT | |
WAYPOINT | |
FIX | |
NDB | |
VOR | |
ILS | |
LOC | |
GS | |
OM | |
MM | |
IM | |
DME | important that DME & TACAN are adjacent to keep the TacanFilter efficient - DMEs are proxies for TACAN/VORTAC stations |
TACAN | |
MOBILE_TACAN | |
OBSTACLE | |
TOWER | an actual airport tower - not a radio comms facility! some airports have multiple towers, eg EHAM, although our data source doesn't necessarily include them |
FREQ_GROUND | |
FREQ_TOWER | |
FREQ_ATIS | |
FREQ_AWOS | |
FREQ_APP_DEP | |
FREQ_ENROUTE | |
FREQ_CLEARANCE | |
FREQ_UNICOM | |
PARKING | parking position - might be a gate, or stand |
TAXI_NODE | |
COUNTRY | |
CITY | |
TOWN | |
VILLAGE | |
VISUAL_REPORTING_POINT | |
LAST_POI_TYPE | |
LAST_TYPE |
Definition at line 30 of file positioned.hxx.
|
virtual |
Definition at line 64 of file positioned.cxx.
|
protected |
Definition at line 51 of file positioned.cxx.
|
virtual |
The cartesian position associated with this object.
Reimplemented in FGMobileNavRecord.
Definition at line 158 of file positioned.cxx.
|
static |
Definition at line 119 of file positioned.cxx.
|
static |
Definition at line 144 of file positioned.cxx.
|
inline |
Definition at line 130 of file positioned.hxx.
|
inline |
Definition at line 133 of file positioned.hxx.
|
static |
Find all items with the specified ident.
aFilter | - optional filter on items |
Definition at line 344 of file positioned.cxx.
|
static |
As above, but searches names instead of idents.
Definition at line 354 of file positioned.cxx.
|
static |
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.
Very large cutoff values will make this slow.
aCutoffNm | - maximum distance to search within, in nautical miles |
Definition at line 364 of file positioned.cxx.
|
static |
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.
Very large cutoff values will make this slow.
aN | - number of matches to find |
aCutoffNm | - maximum distance to search within, in nautical miles |
Definition at line 382 of file positioned.cxx.
|
static |
Same as above, but with a time-bound in msec too.
Definition at line 393 of file positioned.cxx.
|
static |
Definition at line 289 of file positioned.cxx.
|
static |
Definition at line 296 of file positioned.cxx.
|
static |
Definition at line 312 of file positioned.cxx.
|
static |
Definition at line 327 of file positioned.cxx.
|
inlinevirtual |
Reimplemented in FGMobileNavRecord.
Definition at line 113 of file positioned.hxx.
|
inline |
Definition at line 116 of file positioned.hxx.
|
inline |
Definition at line 102 of file positioned.hxx.
|
protected |
Definition at line 436 of file positioned.cxx.
|
static |
Definition at line 69 of file positioned.cxx.
|
static |
Definition at line 85 of file positioned.cxx.
|
static |
Definition at line 79 of file positioned.cxx.
|
inline |
Definition at line 124 of file positioned.hxx.
|
inlinestatic |
Definition at line 261 of file positioned.hxx.
|
inlinestatic |
Definition at line 254 of file positioned.hxx.
|
inlinestatic |
Definition at line 248 of file positioned.hxx.
|
staticprotected |
Definition at line 443 of file positioned.cxx.
|
inline |
Definition at line 127 of file positioned.hxx.
|
protected |
Definition at line 429 of file positioned.cxx.
|
inlinevirtual |
Return the name of this positioned.
By default this is the same as the ident, but for many derived classes it's more meaningful - the aiport or navaid name, for example.
Reimplemented in FGAirport, FGNavRecord, and POI.
Definition at line 110 of file positioned.hxx.
|
static |
Map a type to a human-readable string.
Definition at line 242 of file positioned.cxx.
|
static |
Sort an FGPositionedList by distance from a position.
Definition at line 405 of file positioned.cxx.
|
inline |
Definition at line 84 of file positioned.hxx.
|
static |
Map a candidate type string to a real type.
Returns INVALID if the string does not correspond to a defined type.
Definition at line 163 of file positioned.cxx.
|
inline |
Definition at line 99 of file positioned.hxx.
|
friend |
Definition at line 287 of file positioned.hxx.
|
protected |
Definition at line 297 of file positioned.hxx.
|
protected |
Definition at line 299 of file positioned.hxx.
|
protected |
Definition at line 298 of file positioned.hxx.