23 #include <matrix/vlVector.h>
27 #include <tbb/concurrent_queue.h>
29 #include <unordered_map>
33 class DtOsgArticulatedModel;
34 class DtTaxiwaySignParser;
35 class DtTextureAtlasIndexParser;
38 class DtCoordinateSystem;
80 virtual void slot_RunwayCreated(
DtRunwayData& runwayData);
84 virtual void slot_RunwayDestroyed(
DtRunwayData& runwayData);
87 virtual std::size_t hashPos(
DtVector& pos)
const;
90 virtual std::size_t hashRunwayData(
DtRunwayData& data)
const;
95 const std::string& atlasFileName,
const std::string& text);
99 virtual void setModelDefinitionForSize(
unsigned int size,
const std::string& modelDef);
103 virtual void clearModelDefinitionForSize(
unsigned int size);
107 virtual void setDefaultModelDefinition(
const std::string& modelDef);
113 virtual void setSignMaxSegments(
unsigned int maxSegments);
116 virtual void setSignCharactersPerSegment(
unsigned int charsPerSegment);
120 virtual void setTaxiwaySignUVOffsets(
122 unsigned int numChars);
127 virtual bool setMaxSignLimits(
unsigned int& numSegments,
unsigned int& numChars);
131 virtual void updateTaxiwaySignManager(
const float budget);
139 virtual void createRunwaySigns(
DtRunwayData& runwayData,
140 const RunwaySignType signType,
const RunwaySignPlacement signPlacement);
142 virtual void createAndPlaceHalfwayRunwayDistanceSign(
143 const DtRunwayData &runwayData,
const double signWidthOffset,
144 const RunwaySignPlacement signPlacement,
DtUniqueID runwayID);
148 virtual void extractRunwayStartAndForward(
const DtRunwayData &runwayData,
150 const RunwaySignPlacement signPlacement);
153 virtual void generateSignLocationsAndStrings(std::vector<DtVector>& signLocations,
154 std::vector<std::string>& signLabels,
const double signSpacing,
155 const double signOffset, RunwaySignType signType,
156 const RunwaySignPlacement signPlacement,
const DtRunwayData& runwayData);
161 const double headingDeg);
164 virtual void createAndPlaceRunwayDistanceSign(
const DtVector& signLoc,
165 const std::string& label,
const RunwaySignPlacement signPlacement,
166 const double heading,
const unsigned int signSize,
DtUniqueID runwayID);
170 virtual std::string generateSignLabel(
unsigned int signNum);
173 virtual DtVector calcRunwayHalfwaySignPos(
const double signOffset,
174 const RunwaySignPlacement signPlacement,
const DtRunwayData& runwayData);
178 virtual double offsetForDistanceSignSize(
unsigned int size);
190 virtual void slot_coordinateSystemChanged();
212 std::unordered_map < DtUniqueID, std::vector<DtOsgArticulatedModel*>>
myRunwaySigns;
Definition: DtTaxiwaySignManager.h:54
Definition: DtTaxiwaySignManager.h:40
Contains makVrv::DtAerodromeNode class.
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Contains makVrv::DtTaxiwaySignLetter class.
std::vector< DtTaxiwaySignLetter > TaxiwaySignSide
Definition: DtTaxiwaySignManager.h:44
std::map< unsigned int, std::string > myTaxiwaySignModelDefinitions
Definition: DtTaxiwaySignManager.h:218
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
tbb::concurrent_queue< DtTaxiwaySignData > myTaxiSignDeleteQueue
Definition: DtTaxiwaySignManager.h:202
std::string myDefaultTaxiwaySignModelDefinition
Definition: DtTaxiwaySignManager.h:219
tbb::concurrent_queue< DtTaxiwaySignData > myTaxiSignCreateQueue
Definition: DtTaxiwaySignManager.h:201
voidpf void uLong size
Definition: ioapi.h:39
unsigned int myTaxiwaySignModelMaxSegments
Definition: DtTaxiwaySignManager.h:220
Definition: DtTextureAtlasIndexParser.h:33
RunwaySignPlacement
Definition: DtTaxiwaySignManager.h:52
DtDe & myDe
Definition: DtTaxiwaySignManager.h:195
tbb::concurrent_queue< DtRunwayData > myRunwayDataCreateQueue
Definition: DtTaxiwaySignManager.h:204
Contains makVrv::DtDe class.
unsigned int myTaxiwaySignModelLettersPerSegment
Definition: DtTaxiwaySignManager.h:221
An articulated model manipulator for controlling an articulated model. Supports indirect rendering of...
Definition: DtOsgArticulatedModel.h:67
tbb::concurrent_queue< DtRunwayData > myRunwayDataDeleteQueue
Definition: DtTaxiwaySignManager.h:205
Definition: DtTaxiwaySignParser.h:18
Contains makVrv::DtVirtualBaseClass class.
std::unordered_map< DtUniqueID, std::vector< DtOsgArticulatedModel * > > myRunwaySigns
Definition: DtTaxiwaySignManager.h:212
DtSignalConnectionManager myConnections
Definition: DtTaxiwaySignManager.h:196
Definition: DtTaxiwaySignManager.h:48
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::unordered_map< DtUniqueID, DtOsgArticulatedModel * > myTaxiwaySigns
Definition: DtTaxiwaySignManager.h:207
DtRunwayData is the data collected from paged Aerodrome data and used for creating runway markings...
Definition: DtRunwayData.h:23
std::unordered_map< DtUniqueID, DtSceneObject * > mySceneObjs
Definition: DtTaxiwaySignManager.h:216
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
RunwaySignType
Definition: DtTaxiwaySignManager.h:46
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignDeleted
Definition: DtTaxiwaySignManager.h:185
Base class to provide boost signal/slot management.
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignCreated
Definition: DtTaxiwaySignManager.h:186
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
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
The elements that make up a taxiway sign.
Definition: DtAerodromeNode.h:112