23 #include <matrix/vlVector.h>
26 #include <unordered_map>
30 class DtOsgArticulatedModel;
31 class DtTaxiwaySignParser;
32 class DtTextureAtlasIndexParser;
35 class DtTaxiwaySignSignaler;
36 class DtCoordinateSystem;
101 typedef std::unordered_map<DtUniqueID, DtOsgArticulatedModel* >
104 typedef std::unordered_map<DtUniqueID, std::vector<DtOsgArticulatedModel*> >
107 typedef std::unordered_map<DtUniqueID, DtSceneObject* >
136 virtual void slot_RunwayCreated(
DtRunwayData& runwayData);
140 virtual void slot_RunwayDestroyed(
DtRunwayData& runwayData);
143 virtual std::size_t hashPos(
DtVector& pos);
151 const std::string& atlasFileName,
const std::string& text);
155 virtual void setModelDefinitionForSize(
unsigned int size,
const std::string& modelDef);
159 virtual void clearModelDefinitionForSize(
unsigned int size);
163 virtual void setDefaultModelDefinition(
const std::string& modelDef);
169 virtual void setSignMaxSegments(
unsigned int maxSegments);
172 virtual void setSignCharactersPerSegment(
unsigned int charsPerSegment);
176 virtual void setTaxiwaySignUVOffsets(
178 unsigned int numChars);
183 virtual bool setMaxSignLimits(
unsigned int& numSegments,
unsigned int& numChars);
187 virtual void updateTaxiwaySignManager(
const float budget);
195 virtual void createRunwaySigns(
DtRunwayData& runwayData,
196 const RunwaySignType signType,
const RunwaySignPlacement signPlacement);
198 virtual void createAndPlaceHalfwayRunwayDistanceSign(
199 const DtRunwayData &runwayData,
const double signWidthOffset,
200 const RunwaySignPlacement signPlacement,
DtUniqueID runwayID);
204 virtual void extractRunwayStartAndForward(
const DtRunwayData &runwayData,
206 const RunwaySignPlacement signPlacement);
209 virtual void generateSignLocationsAndStrings(std::vector<DtVector>& signLocations,
210 std::vector<std::string>& signLabels,
const double signSpacing,
211 const double signOffset, RunwaySignType signType,
212 const RunwaySignPlacement signPlacement,
const DtRunwayData& runwayData);
217 const double headingDeg);
220 virtual void createAndPlaceRunwayDistanceSign(
const DtVector& signLoc,
221 const std::string& label,
const RunwaySignPlacement signPlacement,
222 const double heading,
const unsigned int signSize,
DtUniqueID runwayID);
226 virtual std::string generateSignLabel(
unsigned int signNum);
229 virtual DtVector calcRunwayHalfwaySignPos(
const double signOffset,
230 const RunwaySignPlacement signPlacement,
const DtRunwayData& runwayData);
234 double offsetForDistanceSignSize(
unsigned int size);
246 virtual void slot_coordinateSystemChanged();
Definition: DtTaxiwaySignManager.h:118
Definition: DtTaxiwaySignManager.h:95
std::string text
Definition: DtTaxiwaySignManager.h:44
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtTextureAtlasIndexParser * myTaxiwaySignTextureAtlasParser
Definition: DtTaxiwaySignManager.h:254
Contains makVrv::DtTaxiwaySignLetter class.
int size
Definition: DtTaxiwaySignManager.h:43
std::unordered_map< DtUniqueID, DtOsgArticulatedModel * > TaxiwaySignsMap
Definition: DtTaxiwaySignManager.h:102
std::vector< DtTaxiwaySignLetter > TaxiwaySignSide
Definition: DtTaxiwaySignManager.h:99
std::map< unsigned int, std::string > myTaxiwaySignModelDefinitions
Definition: DtTaxiwaySignManager.h:273
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtDe & myDe
Definition: DtTaxiwaySignManager.h:59
std::string myDefaultTaxiwaySignModelDefinition
Definition: DtTaxiwaySignManager.h:274
A class which contains the signals used by the DtTaxiwaySignManager classes.
Definition: DtTaxiwaySignManager.h:66
std::string apt_icao
Definition: DtTaxiwaySignManager.h:42
voidpf void uLong size
Definition: ioapi.h:39
unsigned int myTaxiwaySignModelMaxSegments
Definition: DtTaxiwaySignManager.h:275
Definition: DtTextureAtlasIndexParser.h:23
RunwaySignPlacement
Definition: DtTaxiwaySignManager.h:116
DtDe & myDe
Definition: DtTaxiwaySignManager.h:251
Contains makVrv::DtDe class.
unsigned int myTaxiwaySignModelLettersPerSegment
Definition: DtTaxiwaySignManager.h:276
An articulated model manipulator for controlling an articulated model. Supports indirect rendering of...
Definition: DtOsgArticulatedModel.h:69
DtLockedBufferedQueue< DtRunwayData > myRunwayDataLockedQueue
Definition: DtTaxiwaySignManager.h:257
Contains makVrv::DtLockedBufferedQueue class.
Connect DtAerodromeRenderer with the DtTaxiwaySignManager.
Definition: DtTaxiwaySignManager.h:51
SceneObjectMap mySceneObjs
Definition: DtTaxiwaySignManager.h:271
Definition: DtTaxiwaySignParser.h:18
DtTaxiwaySignParser * mySignParser
Definition: DtTaxiwaySignManager.h:253
DtLockedBufferedQueue< DtTaxiwaySignData > mySignDataLockedQueue
Definition: DtTaxiwaySignManager.h:256
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.
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignCreated
signal when the DtTaxiwaySignNode is created
Definition: DtTaxiwaySignManager.h:76
boost::signalslib::signal< void(DtRunwayData &)> signal_RunwayCreated
signal when the DtRunwayNode is created Need this for distance remaining signs
Definition: DtTaxiwaySignManager.h:83
std::unordered_map< DtUniqueID, DtSceneObject * > SceneObjectMap
Definition: DtTaxiwaySignManager.h:108
DtSignalConnectionManager myConnections
Definition: DtTaxiwaySignManager.h:252
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignDeleted
signal when the DtTaxiwaySignNode is deleted
Definition: DtTaxiwaySignManager.h:79
Definition: DtTaxiwaySignManager.h:112
DtTaxiwaySignSignaler & myTaxiwaySignSignaler
Definition: DtTaxiwaySignManager.h:61
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtTaxiwaySignData mySignData
Definition: DtTaxiwaySignManager.h:60
std::unordered_map< DtUniqueID, std::vector< DtOsgArticulatedModel * > > RunwaySignMap
Definition: DtTaxiwaySignManager.h:105
RunwaySignMap myRunwaySigns
Definition: DtTaxiwaySignManager.h:267
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:41
RunwaySignType
Definition: DtTaxiwaySignManager.h:110
std::vector< DtRunwayData > myRunwayCreationVector
Definition: DtTaxiwaySignManager.h:279
DtVector location
Definition: DtTaxiwaySignManager.h:46
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignDeleted
Definition: DtTaxiwaySignManager.h:241
Base class to provide boost signal/slot management.
DtLockedBufferedQueue< DtTaxiwaySignData > mySignDataToRemoveLockedQueue
Definition: DtTaxiwaySignManager.h:259
boost::signalslib::signal< void(DtTaxiwaySignData &)> signal_TaxiwaySignCreated
Definition: DtTaxiwaySignManager.h:242
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:70
std::vector< DtTaxiwaySignData > myTaxiSignCreationVector
Definition: DtTaxiwaySignManager.h:278
The elements that make up a taxiway sign.
Definition: DtTaxiwaySignManager.h:40
boost::signalslib::signal< void(DtRunwayData &)> signal_RunwayDestroyed
signal when the DtRunwayNode is deleted Need this for distance remaining signs
Definition: DtTaxiwaySignManager.h:87
Definition: DtRunwayMarkingManager.h:41
TaxiwaySignsMap myTaxiwaySigns
Definition: DtTaxiwaySignManager.h:262
double heading
Definition: DtTaxiwaySignManager.h:45
DtLockedBufferedQueue< DtRunwayData > myRunwayDataToRemoveLockedQueue
Definition: DtTaxiwaySignManager.h:260