21 #include <matrix/vlVector.h>
27 #include <boost/bind.hpp>
28 #include <unordered_map>
34 class DtModelDefinition;
35 class DtOsgArticulatedModel;
37 class DtRunwaySignaler;
38 class DtCoordinateSystem;
166 virtual void updateRunwayManager(
const float budget);
168 virtual void slot_AerodromeCreated(
const std::string& icao);
169 virtual void slot_AerodromeStartInitializing(
const std::string& icao);
171 virtual void slot_RunwayCreated(
DtRunwayData& runwayData);
172 virtual void slot_RunwayDestroyed(
DtRunwayData& runwayData);
177 virtual double runwayWidth(
const std::vector<DtVector>& runwayPolygon)
const;
178 virtual DtVector forwardVector(
const std::vector<DtVector>& runwayPolygon)
const;
179 virtual DtVector forwardVector(
const DtVector& position,
double heading)
const;
180 virtual DtVector rightVector(
const DtVector& position,
double heading)
const;
225 std::string runwayKey(
const std::string& apt_icao,
const std::string& runwayNum)
const;
227 std::size_t hashRunwayData(
const DtRunwayData& runwayData);
229 bool createAndPlaceCenterlineLighting(
DtRunwayData& runwayData,
const float budget);
236 void createAndPlaceTouchdownZone(
const DtRunwayData& runwayData);
237 void createAndPlaceTouchdownZoneLightBar(
const DtUniqueID runwayId,
const std::string& groupName,
238 const DtVector& position,
double heading);
239 bool createAndPlaceEdgeLighting(
DtRunwayData& runwayData,
const float budget);
240 void createAndPlaceThresholdAndEndLighting(
const DtRunwayData& runwayData);
244 const DtVector& pos,
double zOffset = 0.0,
double heading = 0.0);
246 bool readModelDefsByNameFile(
const std::string& path,
const std::string& modelDefsFilename);
249 virtual void slot_coordinateSystemChanged();
261 DtVector geodeticToGeocentric(
double lat,
double lon,
double alt)
const;
std::vector< DtVector > geomPoints_cig
Definition: DtRunwayMarkingManager.h:79
int displaced
Definition: DtRunwayMarkingManager.h:61
int isDisplaced
Definition: DtRunwayMarkingManager.h:62
int touchdown
Definition: DtRunwayMarkingManager.h:64
std::string surface
Definition: DtRunwayMarkingManager.h:50
Definition: DtRunwayMarkingManager.h:149
DtRunwaySignaler & myRunwaySignaler
Definition: DtRunwayMarkingManager.h:109
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::string shoulder
Definition: DtRunwayMarkingManager.h:51
std::unordered_map< DtUniqueID, DtSceneObject * > myRunwayMarkers
Definition: DtRunwayMarkingManager.h:207
boost::signalslib::signal< void(DtRunwayData &)> signal_RunwayDestroyed
Definition: DtRunwayMarkingManager.h:187
boost::signalslib::signal< void(DtRunwayData &)> signal_RunwayCreated
Definition: DtRunwayMarkingManager.h:186
boost::signalslib::signal< void(DtRunwayThresholdData &)> signal_RunwayThresholdDestroyed
Definition: DtRunwayMarkingManager.h:141
DtVector centerLinePopulation
Definition: DtRunwayMarkingManager.h:93
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
double offsetFromStartOfRunway_m
Definition: DtRunwayMarkingManager.h:92
DtDe & myDe
Definition: DtRunwayMarkingManager.h:119
bool myAerodromeCreated
Definition: DtRunwayMarkingManager.h:212
Definition: DtRunwayMarkingManager.h:112
Definition: DtTextureAtlasIndexParser.h:23
Contains makVrv::DtDe class.
std::vector< std::string > myNewRunways
Definition: DtRunwayMarkingManager.h:252
ModelDefsByNameMap myModelDefsByNameMap
Definition: DtRunwayMarkingManager.h:215
double edgeLightingOffsetFromStartOfRunway_m
Definition: DtRunwayMarkingManager.h:90
std::string runwayNum1
Definition: DtRunwayMarkingManager.h:48
DtDe & myDe
Definition: DtRunwayMarkingManager.h:107
An articulated model manipulator for controlling an articulated model. Supports indirect rendering of...
Definition: DtOsgArticulatedModel.h:69
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:38
int myCurrentPhase
Definition: DtRunwayMarkingManager.h:89
boost::signalslib::signal< void(const std::string &)> signal_AerodromeCreated
Definition: DtRunwayMarkingManager.h:184
boost::signalslib::signal< void(DtRunwayThresholdData &)> signal_RunwayThresholdDestroyed
Definition: DtRunwayMarkingManager.h:190
double smoothness
Definition: DtRunwayMarkingManager.h:66
boost::signalslib::signal< void(DtRunwayData &)> signal_RunwayDestroyed
Definition: DtRunwayMarkingManager.h:138
std::string approach
Definition: DtRunwayMarkingManager.h:54
int stopway
Definition: DtRunwayMarkingManager.h:63
DtRunwayThresholdData myRunwayThresholdData
Definition: DtRunwayMarkingManager.h:120
std::unordered_map< DtUniqueID, std::vector< DtSceneObject * > > DtSceneObjectsMap
Definition: DtRunwayMarkingManager.h:155
double width_ft
Definition: DtRunwayMarkingManager.h:86
A locked buffered queue which allows multiple writers and a single reader. Internally the queue is st...
Definition: DtLockedBufferedQueue.h:24
Contains makVrv::DtVirtualBaseClass class.
std::string apt_icao
Definition: DtRunwayMarkingManager.h:46
boost::signalslib::signal< void(const std::string &) > signal_AerodromeStartInitializing
Definition: DtRunwayMarkingManager.h:134
std::string runwayNum2
Definition: DtRunwayMarkingManager.h:49
DtRunwayData DtRunwayThresholdData
Definition: DtRunwayMarkingManager.h:97
DtVector displacedThresholdPoint_cig
Definition: DtRunwayMarkingManager.h:78
Contains makVrv::DtTextureAtlasIndexParser class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
double true_heading
Definition: DtRunwayMarkingManager.h:67
DtRunwayData myRunwayData
Definition: DtRunwayMarkingManager.h:108
std::string edgeLight
Definition: DtRunwayMarkingManager.h:52
std::unordered_map< std::string, DtRunwayThresholdData > DtRunwayThresholdDataMap
Definition: DtRunwayMarkingManager.h:153
int length_m
Definition: DtRunwayMarkingManager.h:59
DtSceneObjectsMap mySceneObjs
Definition: DtRunwayMarkingManager.h:211
std::vector< std::string > myNewRunwayPolygons
Definition: DtRunwayMarkingManager.h:253
DtRunwayThresholdDataMap myRunwayThresholdData
Definition: DtRunwayMarkingManager.h:208
DtVector edgeLightingCurrentPos
Definition: DtRunwayMarkingManager.h:91
int distance_r
Definition: DtRunwayMarkingManager.h:58
std::string runwayNum
Definition: DtRunwayMarkingManager.h:47
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
DtSignalConnectionManager myConnections
Definition: DtRunwayMarkingManager.h:197
int centerline
Definition: DtRunwayMarkingManager.h:57
std::vector< DtVector > geomPoints
Definition: DtRunwayMarkingManager.h:72
DtVector thresholdPoint_cig
Definition: DtRunwayMarkingManager.h:77
Base class to provide boost signal/slot management.
std::string REIL
Definition: DtRunwayMarkingManager.h:55
boost::signalslib::signal< void(DtRunwayThresholdData &)> signal_RunwayThresholdCreated
Definition: DtRunwayMarkingManager.h:189
boost::signalslib::signal< void(DtRunwayData &)> signal_RunwayCreated
Definition: DtRunwayMarkingManager.h:137
boost::signalslib::signal< void(const std::string &) > signal_AerodromeCreated
Definition: DtRunwayMarkingManager.h:135
DtVector thresholdPoint
Definition: DtRunwayMarkingManager.h:70
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
DtVector displacedThresholdPoint
Definition: DtRunwayMarkingManager.h:71
DtDe & myDe
Definition: DtRunwayMarkingManager.h:196
Definition: DtRunwayMarkingManager.h:125
DtRunwayLightsMap myRunwayLights
Definition: DtRunwayMarkingManager.h:210
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
DtVector forwardVector_cig
Definition: DtRunwayMarkingManager.h:82
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:70
DtLockedBufferedQueue< DtRunwayThresholdData > myRunwayDisplacedThresholdLockedQueue
Definition: DtRunwayMarkingManager.h:202
DtTextureAtlasIndexParser * myTextureAtlasIndexParser
Definition: DtRunwayMarkingManager.h:198
DtLockedBufferedQueue< DtRunwayThresholdData > myRunwayThresholdLockedQueue
Definition: DtRunwayMarkingManager.h:201
std::string markings
Definition: DtRunwayMarkingManager.h:53
boost::signalslib::signal< void(DtRunwayThresholdData &)> signal_RunwayThresholdCreated
Definition: DtRunwayMarkingManager.h:140
DtLockedBufferedQueue< DtRunwayData > myRunwayDataToDeleteLockedQueue
Definition: DtRunwayMarkingManager.h:204
DtLockedBufferedQueue< DtRunwayThresholdData > myRunwayThresholdToDeleteLockedQueue
Definition: DtRunwayMarkingManager.h:205
std::unordered_map< DtUniqueID, std::vector< DtOsgArticulatedModel * > > DtRunwayLightsMap
Definition: DtRunwayMarkingManager.h:156
Definition: DtRunwayMarkingManager.h:41
DtLockedBufferedQueue< DtRunwayData > myRunwayDataLockedQueue
Definition: DtRunwayMarkingManager.h:200
Definition: DtRunwayMarkingManager.h:100
osg::Timer myCurrentFrameBudgetTimer
Definition: DtRunwayMarkingManager.h:254
std::unordered_map< std::string, std::string > ModelDefsByNameMap
Definition: DtRunwayMarkingManager.h:214
DtVector rightVector_cig
Definition: DtRunwayMarkingManager.h:83
DtRunwaySignaler & myRunwaySignaler
Definition: DtRunwayMarkingManager.h:121
static const char * RunwayLightMapFilename
Definition: DtRunwayMarkingManager.h:218
int width_m
Definition: DtRunwayMarkingManager.h:60