15 #include <osgEarthAerodrome/AerodromeCatalog>
16 #include <osgEarthAerodrome/AerodromeFactory>
18 #include <boost/unordered_map.hpp>
22 class DtRunwayDesignatorNode;
23 class DtRunwayMarkingNode;
24 class DtTextureAtlasIndexParser;
25 class DtTaxiwaySignSignaler;
47 std::vector<std::string>
rwy1;
48 std::vector<std::string>
rwy2;
61 virtual void apply(osgEarth::Aerodrome::AerodromeNode& node);
63 virtual void apply(osgEarth::Aerodrome::RunwayNode& node);
65 virtual void apply(osgEarth::Aerodrome::RunwayThresholdNode& node);
67 virtual void apply(osgEarth::Aerodrome::TaxiwaySignNode& node);
69 virtual void apply(osgEarth::Aerodrome::LightIndicatorNode& node);
71 virtual void apply(osgEarth::Aerodrome::RunwayThresholdGroup& group);
73 virtual void parseTaxiwaySignNode(osgEarth::Aerodrome::TaxiwaySignNode &node);
75 virtual void parseRunwayNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
77 virtual void parseRunwayThresholdNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
79 virtual void parseLightIndicatorNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
81 virtual void printFeatureAttributes(osgEarth::Aerodrome::AerodromeFeatureNode& node);
83 virtual void addRunwayDesignator(
const std::string& icao,
const std::string& designator,
const std::string& tag,
84 const osg::Vec3& threshold,
float offset,
float centerOffset = 0.0f);
86 virtual void addRunwayMarking(
const std::string& icao,
const std::string& designator,
const std::string& tag,
87 const osg::Vec3& threshold,
float offset,
float length,
float width,
float lateralSpacing);
89 virtual void addRunwayThresholdBar(
const std::string& icao,
const std::string& designator,
const osg::Vec3& threshold);
91 virtual void addRunwayEdgeMarking(
const std::string& icao,
const std::string& designator,
const osg::Vec3& threshold);
93 virtual void addCenterlineMarking(
const std::string& icao,
const std::string& designator1,
const std::string& designator);
95 virtual void addDesignator(
const std::string& icao,
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
97 virtual void addMarking(
const std::string& icao,
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
99 virtual void removeAerodromeFromMap(
const std::string& icao);
109 RunwayPolygonData* getRunwayPolygonData(
const std::string& icao,
const std::string& designator);
122 virtual osg::ref_ptr<osg::Geode> buildMarkingDrawable();
123 virtual osg::ref_ptr<osg::Geode> buildDesignatorDrawable();
125 virtual void addMarking(
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
126 virtual void addDesignator(
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);