FlightGear next
FGPavement Class Reference

#include <pavement.hxx>

Inherits FGPositioned.

Classes

struct  BezierNode
 
struct  NodeBase
 
struct  SimpleNode
 

Public Types

typedef std::vector< SGSharedPtr< NodeBase > > NodeList
 
- Public Types inherited from FGPositioned
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

 FGPavement (PositionedID aGuid, const std::string &aIdent, const SGGeod &aPos)
 
void addNode (const SGGeod &aPos, bool aClose=false, bool aLoop=false, int paintCode=0, int lightCode=0)
 
void addBezierNode (const SGGeod &aPos, const SGGeod &aCtrlPt, bool aClose=false, bool aLoop=false, int paintCode=0, int lightCode=0)
 
const NodeListgetNodeList () const
 
- Public Member Functions inherited from FGPositioned
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
 

Additional Inherited Members

- Static Public Member Functions inherited from FGPositioned
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 inherited from FGPositioned
 FGPositioned (PositionedID aGuid, Type ty, const std::string &aIdent, const SGGeod &aPos)
 
void modifyPosition (const SGGeod &newPos)
 
void invalidatePosition ()
 
- Static Protected Member Functions inherited from FGPositioned
static FGPositionedRef loadByIdImpl (PositionedID id)
 
- Protected Attributes inherited from FGPositioned
const PositionedID mGuid
 
const Type mType
 
const std::string mIdent
 

Detailed Description

Definition at line 12 of file pavement.hxx.

Member Typedef Documentation

◆ NodeList

typedef std::vector<SGSharedPtr<NodeBase> > FGPavement::NodeList

Definition at line 54 of file pavement.hxx.

Constructor & Destructor Documentation

◆ FGPavement()

FGPavement::FGPavement ( PositionedID aGuid,
const std::string & aIdent,
const SGGeod & aPos )

Definition at line 27 of file pavement.cxx.

Member Function Documentation

◆ addBezierNode()

void FGPavement::addBezierNode ( const SGGeod & aPos,
const SGGeod & aCtrlPt,
bool aClose = false,
bool aLoop = false,
int paintCode = 0,
int lightCode = 0 )

Definition at line 37 of file pavement.cxx.

◆ addNode()

void FGPavement::addNode ( const SGGeod & aPos,
bool aClose = false,
bool aLoop = false,
int paintCode = 0,
int lightCode = 0 )

Definition at line 32 of file pavement.cxx.

◆ getNodeList()

const NodeList & FGPavement::getNodeList ( ) const
inline

Definition at line 62 of file pavement.hxx.


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