18 #include <osgEarthAerodromes/AerodromeCatalog>
19 #include <osgEarthAerodromes/AerodromeFactory>
21 #include <boost/unordered_map.hpp>
23 #include <OpenThreads/Mutex>
27 class DtRunwayDesignatorNode;
28 class DtRunwayMarkingNode;
29 class DtTextureAtlasIndexParser;
30 class DtTaxiwaySignSignaler;
31 class DtRunwaySignaler;
32 class DtLightIndicatorSignaler;
43 , centerlineStartOffset_ft(0.0f)
44 , hasCenterline(false)
45 , myFowardVector(osg::Vec3(1, 0, 0))
46 , myThreshold(osg::Vec3(0, 0, 0))
47 , useableThreshold(osg::Vec3(0, 0, 0))
65 std::vector<std::string>
rwy1;
66 std::vector<std::string>
rwy2;
79 virtual void apply(osgEarth::Aerodrome::AerodromeNode& node);
81 virtual void apply(osgEarth::Aerodrome::RunwayNode& node);
83 virtual void apply(osgEarth::Aerodrome::RunwayThresholdNode& node);
85 virtual void apply(osgEarth::Aerodrome::TaxiwaySignNode& node);
87 virtual void apply(osgEarth::Aerodrome::LightIndicatorNode& node);
89 virtual void apply(osgEarth::Aerodrome::RunwayThresholdGroup& group);
91 virtual void parseTaxiwaySignNode(osgEarth::Aerodrome::TaxiwaySignNode& node);
93 virtual void parseRunwayNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
95 virtual void parseRunwayThresholdNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
97 virtual void parseLightIndicatorNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
99 virtual void printFeatureAttributes(osgEarth::Aerodrome::AerodromeFeatureNode& node);
101 virtual void addRunwayDesignator(
const std::string& icao,
const std::string& designator,
const std::string& tag,
102 const osg::Vec3& threshold,
float offset,
float centerOffset = 0.0f);
104 virtual void addRunwayMarking(
const std::string& icao,
const std::string& designator,
const std::string& tag,
105 const osg::Vec3& threshold,
float offset,
float length,
float width,
float lateralSpacing);
107 virtual void addRunwayThresholdBar(
const std::string& icao,
const std::string& designator,
const osg::Vec3& threshold);
109 virtual void addRunwayEdgeMarking(
const std::string& icao,
const std::string& designator,
const osg::Vec3& threshold);
111 virtual void addCenterlineMarking(
const std::string& icao,
const std::string& designator1,
const std::string& designator);
113 virtual void addDesignator(
const std::string& icao,
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
115 virtual void addMarking(
const std::string& icao,
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
134 virtual void removeAerodromeFromMap(
const std::string& icao);
147 RunwayPolygonData* getRunwayPolygonData(
const std::string& icao,
const std::string& designator);
170 virtual void addMarking(
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
171 virtual void addDesignator(
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
173 virtual void setTerrainCleared(
bool flag);
175 virtual bool terrainCleared();
osg::Vec3 myThreshold
Definition: DtAerodromeRenderer.h:57
osg::Vec3 useableThreshold
Definition: DtAerodromeRenderer.h:58
A class which contains the signals used by the DtLightIndicatorManager classes.
Definition: DtLightIndicatorManager.h:55
std::vector< std::string > rwy1
Definition: DtAerodromeRenderer.h:65
bool hasCenterline
Definition: DtAerodromeRenderer.h:54
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
A class which contains the signals used by the DtTaxiwaySignManager classes.
Definition: DtTaxiwaySignManager.h:62
Definition: DtTextureAtlasIndexParser.h:23
osg::ref_ptr< osg::Vec3Array > myDesignatorVerts
Definition: DtAerodromeRenderer.h:187
Contains makVrv::DtDe class.
DtRunwaySignaler & myRunwaySignaler
Definition: DtAerodromeRenderer.h:153
DtAerodromeDataMap myDtAerodromeData
Definition: DtAerodromeRenderer.h:141
osg::ref_ptr< osg::Vec2Array > myDesignatorTexCoords
Definition: DtAerodromeRenderer.h:188
DtDe & myDe
Definition: DtAerodromeRenderer.h:139
std::vector< std::string > rwy2
Definition: DtAerodromeRenderer.h:66
DtRunwayMarkingNode * myRunwayMarkingNode
Definition: DtAerodromeRenderer.h:69
osg::Vec3 myFowardVector
Definition: DtAerodromeRenderer.h:56
Definition: DtAerodromeRenderer.h:34
float myWidth
Definition: DtAerodromeRenderer.h:51
DtSignalConnectionManager myConnections
Definition: DtAerodromeRenderer.h:151
RunwayPolygonData()
Definition: DtAerodromeRenderer.h:40
DtTextureAtlasIndexParser * myTextureAtlasIndexParser
Definition: DtAerodromeRenderer.h:145
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Definition: DtAerodromeRenderer.h:38
Definition: DtAerodromeRenderer.h:159
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
boost::unordered_map< std::string, DtAerodromeData > DtAerodromeDataMap
Definition: DtAerodromeRenderer.h:72
boost::unordered_map< std::string, RunwayPolygonData > RunwayPolygonMap
Definition: DtAerodromeRenderer.h:61
float myLength
Definition: DtAerodromeRenderer.h:52
DtAerodromeRenderer & myRenderer
Definition: DtAerodromeRenderer.h:182
Definition: DtAerodromeRenderer.h:63
float centerlineStartOffset_ft
Definition: DtAerodromeRenderer.h:53
DtTaxiwaySignSignaler & myTaxiwaySignSignaler
Definition: DtAerodromeRenderer.h:149
Base class to provide boost signal/slot management.
bool myTerrainCleared
Definition: DtAerodromeRenderer.h:190
Definition: DtRunwayMarkingManager.h:124
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
voidpf uLong offset
Definition: ioapi.h:42
RunwayPolygonMap myRunwayPolygonMap
Definition: DtAerodromeRenderer.h:68
osg::ref_ptr< osg::Vec3Array > myMarkingVerts
Definition: DtAerodromeRenderer.h:184
osg::ref_ptr< osg::Vec2Array > myMarkingTexCoords
Definition: DtAerodromeRenderer.h:185
std::string icao
Definition: DtAerodromeRenderer.h:181
DtDe & myDe
Definition: DtAerodromeRenderer.h:179
DtLightIndicatorSignaler & myLightIndicatorSignaler
Definition: DtAerodromeRenderer.h:155
OpenThreads::Mutex myAerodromeDataMapMutex
Definition: DtAerodromeRenderer.h:142