23 #include <matrix/vlVector.h>
27 #include <tbb/concurrent_queue.h>
29 #include <unordered_map>
34 class DtOsgArticulatedModel;
35 class DtTaxiwaySignParser;
36 class DtTextureAtlasIndexParser;
39 class DtCoordinateSystem;
102 virtual void slot_RunwayCreated(
DtRunwayData& runwayData);
106 virtual void slot_RunwayDestroyed(
DtRunwayData& runwayData);
114 virtual std::size_t hashPos(DtVector& pos)
const;
117 virtual std::size_t hashRunwayData(
DtRunwayData& data)
const;
122 const std::string& atlasFileName,
const std::string& text);
132 virtual void setModelDefinitionForSize(
unsigned int size,
const std::string& modelDef);
136 virtual void clearModelDefinitionForSize(
unsigned int size);
140 virtual void setDefaultModelDefinition(
const std::string& modelDef);
146 virtual void setSignMaxSegments(
unsigned int maxSegments);
149 virtual void setSignCharactersPerSegment(
unsigned int charsPerSegment);
153 virtual void setTaxiwaySignUVOffsets(
155 unsigned int numChars);
160 virtual bool setMaxSignLimits(
unsigned int& numSegments,
unsigned int& numChars);
164 virtual void updateTaxiwaySignManager(
const float budget);
168 double heading,
const std::string& groupName);
172 virtual void createRunwaySigns(
DtRunwayData& runwayData,
175 virtual void createAndPlaceHalfwayRunwayDistanceSign(
176 const DtRunwayData &runwayData,
const double signWidthOffset,
181 virtual void extractRunwayStartAndForward(
const DtRunwayData &runwayData,
182 DtVector ¢erStartPoint, DtVector &forwardVector,
186 virtual void generateSignLocationsAndStrings(std::vector<DtVector>& signLocations,
187 std::vector<std::string>& signLabels,
const double signSpacing,
193 virtual DtVector generateRightVectorAtPos(
const DtVector& currPos,
194 const double headingDeg);
198 virtual DtVector generateFrontVectorAtPos(
const DtVector& currPos,
199 const double headingDeg);
202 virtual void createAndPlaceRunwayDistanceSign(
const DtVector& signLoc,
204 const double heading,
const unsigned int signSize,
DtUniqueID runwayID);
208 virtual std::string generateSignLabel(
unsigned int signNum);
211 virtual DtVector calcRunwayHalfwaySignPos(
const double signOffset,
216 virtual double offsetForDistanceSignSize(
unsigned int size);
219 virtual DtVector geodeticToCig(
const DtVector& pos)
const;
228 virtual void slot_coordinateSystemChanged();
234 virtual std::string findRunwayForDtgSign(
DtDtgSignData* signData);
242 virtual bool isRunwayDtgHeadingCandidate(
double signHeading,
double runwayHeading);
246 virtual bool isCloser(
DtDtgSignData& signData,
const DtVector& runwayStart,
const DtVector& runwayEnd);
269 std::multimap<std::string, class DtDtgRunwayData>
myRunways;
277 std::unordered_map <DtUniqueID, std::vector<DtOsgArticulatedModel*>>
myRunwaySigns;
Definition: DtTaxiwaySignManager.h:55
Definition: DtTaxiwaySignManager.h:41
Contains makVrv::DtAerodromeNode class.
DtVector myLocation
Definition: DtTaxiwaySignManager.h:65
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:45
std::map< unsigned int, std::string > myTaxiwaySignModelDefinitions
Definition: DtTaxiwaySignManager.h:284
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
tbb::concurrent_queue< DtTaxiwaySignData > myTaxiSignDeleteQueue
Definition: DtTaxiwaySignManager.h:263
std::string myDefaultTaxiwaySignModelDefinition
Definition: DtTaxiwaySignManager.h:285
tbb::concurrent_queue< DtTaxiwaySignData > myTaxiSignCreateQueue
Definition: DtTaxiwaySignManager.h:262
DtVector end
Definition: DtTaxiwaySignManager.h:77
std::multimap< std::size_t, DtUniqueID > mySignLocatorMap
Definition: DtTaxiwaySignManager.h:295
double myClosestRunwayDistance
Definition: DtTaxiwaySignManager.h:67
std::unordered_map< DtUniqueID, std::vector< DtOsgArticulatedModel * > > myRunwaySigns
Definition: DtTaxiwaySignManager.h:277
voidpf void uLong size
Definition: ioapi.h:39
unsigned int myTaxiwaySignModelMaxSegments
Definition: DtTaxiwaySignManager.h:286
Definition: DtTextureAtlasIndexParser.h:33
RunwaySignPlacement
Definition: DtTaxiwaySignManager.h:53
DtDe & myDe
Definition: DtTaxiwaySignManager.h:256
tbb::concurrent_queue< DtRunwayData > myRunwayDataCreateQueue
Definition: DtTaxiwaySignManager.h:265
Contains makVrv::DtDe class.
DtRunwayData baseRunwayData
Definition: DtTaxiwaySignManager.h:75
unsigned int myTaxiwaySignModelLettersPerSegment
Definition: DtTaxiwaySignManager.h:287
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:266
double myTrueHeading
Definition: DtTaxiwaySignManager.h:66
Definition: DtTaxiwaySignParser.h:19
Contains makVrv::DtVirtualBaseClass class.
DtSignalConnectionManager myConnections
Definition: DtTaxiwaySignManager.h:257
Definition: DtTaxiwaySignManager.h:49
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::unordered_map< DtUniqueID, DtOsgArticulatedModel * > myTaxiwaySigns
Definition: DtTaxiwaySignManager.h:271
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:282
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:47
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignDeleted
Definition: DtTaxiwaySignManager.h:223
Base class to provide boost signal/slot management.
Definition: DtTaxiwaySignManager.h:72
DtVector start
Definition: DtTaxiwaySignManager.h:76
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignCreated
Definition: DtTaxiwaySignManager.h:224
Contains makVrv::DtUniqueID type.
Contains DLL export macros.
Definition: DtTaxiwaySignManager.h:61
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::string myAirportName
Definition: DtTaxiwaySignManager.h:64
The elements that make up a taxiway sign.
Definition: DtAerodromeNode.h:112
std::multimap< std::string, class DtDtgRunwayData > myRunways
Definition: DtTaxiwaySignManager.h:269
std::map< DtUniqueID, DtDtgSignData > myDtgSigns
Definition: DtTaxiwaySignManager.h:290