23 #include <matrix/vlVector.h>
25 #include <unordered_map>
31 class DtRunwaySelector;
66 virtual DtRunwayData runwayData(
const std::string& key)
const = 0;
70 virtual void updateRunwayManager(
const float budget) = 0;
74 virtual std::string createLightGroupName(
const std::string& airportName,
const std::string& runwayName,
DtRunwayLightsEnum lightType)
const;
75 virtual std::string createLightGroupName(
const std::string& airportName,
DtAerodromeLightsEnum lightType)
const;
76 virtual std::string createLightGroupName(
const std::string& airportName,
const std::string& runwayName,
const std::string& lightName)
const;
77 virtual std::string createLightGroupName(
const std::string& airportName,
const std::string& runway1Name,
const std::string& runway2Name,
const std::string& lightName)
const;
91 static std::string generateLightGroupName(
const std::string& airportName,
const std::string& runwayName,
const std::string& lightSubGroup);
95 virtual void cleanup();
98 virtual std::string runwayKey(
const std::string& apt_icao,
const std::string& runwayNum)
const;
101 virtual std::size_t hashRunwayData(
const DtRunwayData& runwayData)
const;
104 virtual void createAndPlaceRunwaySelector(
const DtRunwayData& runwayData);
108 virtual void slot_runwayConditionChanged(
DtUniqueID runwayId,
const std::string& airportCode,
const std::string& runwayName,
DtRunwayCondition condition);
112 virtual void slot_runwayDamageStateChanged(
DtUniqueID runwayId,
const std::string& airportCode,
const std::string& runwayName,
bool damaged);
116 virtual void slot_runwayArrestorStateChanged(
DtUniqueID runwayId,
unsigned int runwayIndex,
const std::string& airportCode,
const std::string& runwayName,
bool arrestorsUp);
120 virtual void slot_runwayActiveStateChanged(
DtUniqueID runwayId,
unsigned int runwayIndex,
const std::string& airportCode,
const std::string& runwayName,
bool isActive);
The DtRunwayMarkingManager processes aerodrome data that is streamed in from osgEarth. It uses that data to create and place runway lighting and set up runway selector objects. Most of the lighting implementation may be found in DtOsgRunwayMarkingManager. You can use this base class definition to lookup runway selectors and their associated data by element id (as provided by the DtSelectionManager).
Definition: DtRunwayMarkingManager.h:42
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::unordered_map< DtElementID, DtRunwaySelector * > myRunwaySelectors
Definition: DtRunwayMarkingManager.h:129
Contains makVrv::DtRunwayStatus class.
std::unordered_map< std::string, DtUniqueID > myLogicalPhysicalRunwayMap
Definition: DtRunwayMarkingManager.h:137
Contains makVrv::DtDe class.
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtRunwayLightsEnum
Enumeration for light types placed on runways. Note that all are associated with logical runways exce...
Definition: DtLightGroupNameManager.h:22
std::unordered_map< std::size_t, DtRunwaySelector * > myRunwaySelectorsCreated
Definition: DtRunwayMarkingManager.h:145
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtRunwayData is the data collected from paged Aerodrome data and used for creating runway markings...
Definition: DtRunwayData.h:23
DtAerodromeLightsEnum
Enumeration for light types that are aerodrome wide.
Definition: DtLightGroupNameManager.h:40
std::unordered_map< std::string, DtElementID > myLogicalKeyToSelectorIdMap
Definition: DtRunwayMarkingManager.h:132
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtSignalConnectionManager myConnections
Definition: DtRunwayMarkingManager.h:147
DtRunwaySelector objects create a selectable runway that outlines a paged-in runway and an associated...
Definition: DtRunwaySelector.h:43
Contains makVrv::DtRunwayData class.
Base class to provide boost signal/slot management.
DtDe & myDe
Definition: DtRunwayMarkingManager.h:123
DtRunwayCondition
Definition: DtAerodromeStatusManager.h:30
Contains makVrv::DtUniqueID type.
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:76
std::unordered_map< DtUniqueID, DtRunwayStatus > myRunwayStatusMap
Definition: DtRunwayMarkingManager.h:141
Contains DLL export macros.