9#include <simgear/compiler.h>
10#include <simgear/props/props.hxx>
32 switch( surface_code ) {
64 case 3:
return "turf";
65 case 4:
return "dirt";
66 case 5:
return "gravel";
67 case 12:
return "lakebed";
68 case 13:
return "water";
69 case 14:
return "ice";
70 case 15:
return "transparent";
71 default:
return "unknown";
77 const double heading,
const double length,
79 const int surface_code,
96 SGGeod result = SGGeodesy::direct(
geod(),
_heading, aOffset);
97 result.setElevationM(
geod().getElevationM());
105 return SGGeodesy::direct(result, SGMiscd::normalizePeriodic(0, 360,
_heading+90.0), lateralOffset);
115 const string& aIdent,
117 const double heading,
const double length,
119 const int surface_code,
SGSharedPtr< FGAirport > FGAirportRef
FGPositioned(PositionedID aGuid, Type ty, const std::string &aIdent, const SGGeod &aPos)
virtual const SGGeod & geod() const
static SGSharedPtr< T > loadById(PositionedID id)
bool isHardSurface() const
Predicate to test if this runway has a hard surface.
SGGeod pointOnCenterline(double aOffset) const
Retrieve a position on the extended centerline.
FGRunwayBase(PositionedID aGuid, Type aTy, const std::string &aIdent, const SGGeod &aGeod, const double heading, const double length, const double width, const int surface_code, const PositionedID airportId)
SGGeod pointOffCenterline(double aOffset, double lateralOffset) const
int _surface_code
surface, as defined by: http://www.x-plane.org/home/robinp/Apt810.htm#RwySfcCodes
FGAirportRef airport() const
const char * surfaceName()
FGTaxiway(PositionedID aGuid, const std::string &aIdent, const SGGeod &aGeod, const double heading, const double length, const double width, const int surface_code, const PositionedID airportId)