20 #include <osgEarthAerodromes/AerodromeCatalog>
21 #include <osgEarthAerodromes/AerodromeFactory>
23 #include <unordered_map>
25 #include <OpenThreads/Mutex>
29 class DtRunwayDesignatorNode;
30 class DtRunwayMarkingNode;
31 class DtTextureAtlasIndexParser;
32 class DtRunwaySignaler;
42 , centerlineStartOffset_ft(0.0f)
43 , hasCenterline(false)
44 , myFowardVector(osg::Vec3(1, 0, 0))
45 , myThreshold(osg::Vec3(0, 0, 0))
46 , useableThreshold(osg::Vec3(0, 0, 0))
64 std::vector<std::string>
rwy1;
65 std::vector<std::string>
rwy2;
85 virtual void apply(osgEarth::Aerodrome::AerodromeNode& node);
88 virtual void apply(osgEarth::Aerodrome::RunwayNode& node);
90 virtual void apply(osgEarth::Aerodrome::RunwayThresholdNode& node);
92 virtual void apply(osgEarth::Aerodrome::TaxiwaySignNode& node);
94 virtual void apply(osgEarth::Aerodrome::LightIndicatorNode& node);
96 virtual void apply(osgEarth::Aerodrome::RunwayThresholdGroup& group);
100 virtual void parseTaxiwaySignNode(osgEarth::Aerodrome::TaxiwaySignNode& node);
103 virtual void parseRunwayNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
105 virtual void parseRunwayThresholdNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
107 virtual void parseLightIndicatorNode(osgEarth::Aerodrome::AerodromeFeatureNode& node);
112 virtual void addRunwayDesignator(
const std::string& icao,
const std::string& designator,
const std::string& tag,
114 const osg::Vec3& threshold,
float offset,
float centerOffset = 0.0f);
116 virtual void addRunwayMarking(
const std::string& icao,
const std::string& designator,
const std::string& tag,
117 const osg::Vec3& threshold,
float offset,
float length,
float width,
float lateralSpacing);
119 virtual void addRunwayThresholdBar(
const std::string& icao,
const std::string& designator,
const osg::Vec3& threshold);
121 virtual void addRunwayEdgeMarking(
const std::string& icao,
const std::string& designator,
const osg::Vec3& threshold);
123 virtual void addCenterlineMarking(
const std::string& icao,
const std::string& designator1,
const std::string& designator);
125 virtual void addDesignator(
const std::string& icao,
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
127 virtual void addMarking(
const std::string& icao,
const osg::Vec3Array& verts,
const osg::Vec2Array& texCoords);
131 virtual void printFeatureAttributes(osgEarth::Aerodrome::AerodromeFeatureNode& node);
148 virtual void removeAerodromeFromMap(
const std::string& icao);
151 virtual void addGeode(osgEarth::Aerodrome::AerodromeNode& node, osg::Geode* geode,
const std::string& name);
161 RunwayPolygonData* getRunwayPolygonData(
const std::string& icao,
const std::string& designator);
osg::Vec3 myThreshold
Definition: DtAerodromeRenderer.h:56
osg::Vec3 useableThreshold
Definition: DtAerodromeRenderer.h:57
std::vector< std::string > rwy1
Definition: DtAerodromeRenderer.h:64
bool hasCenterline
Definition: DtAerodromeRenderer.h:53
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: DtTextureAtlasIndexParser.h:33
std::unordered_map< std::string, DtAerodromeData > DtAerodromeDataMap
Definition: DtAerodromeRenderer.h:71
Contains makVrv::DtDe class.
DtRunwaySignaler & myRunwaySignaler
Definition: DtAerodromeRenderer.h:167
DtAerodromeDataMap myDtAerodromeData
Definition: DtAerodromeRenderer.h:156
DtDe & myDe
Definition: DtAerodromeRenderer.h:154
std::vector< std::string > rwy2
Definition: DtAerodromeRenderer.h:65
DtRunwayMarkingNode * myRunwayMarkingNode
Definition: DtAerodromeRenderer.h:68
std::unordered_map< std::string, RunwayPolygonData > RunwayPolygonMap
Definition: DtAerodromeRenderer.h:60
osg::Vec3 myFowardVector
Definition: DtAerodromeRenderer.h:55
Definition: DtAerodromeRenderer.h:34
float myWidth
Definition: DtAerodromeRenderer.h:50
DtSignalConnectionManager myConnections
Definition: DtAerodromeRenderer.h:165
RunwayPolygonData()
Definition: DtAerodromeRenderer.h:39
DtTextureAtlasIndexParser * myTextureAtlasIndexParser
Definition: DtAerodromeRenderer.h:159
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: DtAerodromeRenderer.h:37
Definition: DtRunwayMarkingNode.h:23
OpenThreads::Mutex Mutex
Definition: DtOsgThreadingUtils.h:12
float myLength
Definition: DtAerodromeRenderer.h:51
Definition: DtAerodromeRenderer.h:62
float centerlineStartOffset_ft
Definition: DtAerodromeRenderer.h:52
DtTaxiwaySignSignaler & myTaxiwaySignSignaler
Definition: DtAerodromeRenderer.h:163
Base class to provide boost signal/slot management.
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
Definition: DtRunwaySignaler.h:24
Contains DLL export macros.
Signaler for when a certain aerodrome component type is created/destroyed.
Definition: DtAerodromeComponentTypeSignaler.h:21
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
voidpf uLong offset
Definition: ioapi.h:42
RunwayPolygonMap myRunwayPolygonMap
Definition: DtAerodromeRenderer.h:67
DtLightIndicatorSignaler & myLightIndicatorSignaler
Definition: DtAerodromeRenderer.h:169
OpenThreads::Mutex myAerodromeDataMapMutex
Definition: DtAerodromeRenderer.h:157