![]() |
VR-Forces Developer's Guide
|

Public Types | |
| enum | RunwaySignType { SIDED_SINGLE, SIDED_DOUBLE } |
| enum | RunwaySignPlacement { PLACEMENT_LEFT, PLACEMENT_RIGHT } |
| typedef std::vector < DtTaxiwaySignLetter > | TaxiwaySignSide |
Public Member Functions | |
| virtual | ~DtTaxiwaySignManager () |
| DtTaxiwaySignManager ()=delete | |
| DtTaxiwaySignManager (const DtTaxiwaySignManager &rhs)=delete | |
| DtTaxiwaySignManager & | operator= (const DtTaxiwaySignManager &rhs)=delete |
| virtual void | slot_TaxiwaySignCreated (DtTaxiwaySignData &signData) |
| virtual void | slot_TaxiwaySignDestroyed (DtTaxiwaySignData &signData) |
| virtual void | slot_RunwayCreated (DtRunwayData &runwayData) |
| virtual void | slot_RunwayDestroyed (DtRunwayData &runwayData) |
| virtual std::size_t | hashPos (DtVector &pos) const |
| virtual std::size_t | hashRunwayData (DtRunwayData &data) const |
| virtual void | setTaxiwayDesignator (DtOsgArticulatedModel *taxiwaySign, const std::string &atlasFileName, const std::string &text) |
| virtual void | setModelDefinitionForSize (unsigned int size, const std::string &modelDef) |
| virtual void | clearModelDefinitionForSize (unsigned int size) |
| virtual void | setDefaultModelDefinition (const std::string &modelDef) |
| virtual void | setSignMaxSegments (unsigned int maxSegments) |
| virtual void | setSignCharactersPerSegment (unsigned int charsPerSegment) |
| virtual void | setTaxiwaySignUVOffsets (DtOsgArticulatedModel *taxiwaySign, TaxiwaySignSide &sign, unsigned int numChars) |
| virtual bool | setMaxSignLimits (unsigned int &numSegments, unsigned int &numChars) |
| virtual void | updateTaxiwaySignManager (const float budget) |
| virtual void | createTaxiwaySign (DtTaxiwaySignData &signData) |
| virtual void | createRunwaySigns (DtRunwayData &runwayData, const RunwaySignType signType, const RunwaySignPlacement signPlacement) |
| virtual void | createAndPlaceHalfwayRunwayDistanceSign (const DtRunwayData &runwayData, const double signWidthOffset, const RunwaySignPlacement signPlacement, DtUniqueID runwayID) |
| virtual void | extractRunwayStartAndForward (const DtRunwayData &runwayData, DtVector ¢erStartPoint, DtVector &forwardVector, const RunwaySignPlacement signPlacement) |
| virtual void | generateSignLocationsAndStrings (std::vector< DtVector > &signLocations, std::vector< std::string > &signLabels, const double signSpacing, const double signOffset, RunwaySignType signType, const RunwaySignPlacement signPlacement, const DtRunwayData &runwayData) |
| virtual DtVector | generateRightVectorAtPos (const DtVector &currPos, const double headingDeg) |
| virtual void | createAndPlaceRunwayDistanceSign (const DtVector &signLoc, const std::string &label, const RunwaySignPlacement signPlacement, const double heading, const unsigned int signSize, DtUniqueID runwayID) |
| virtual std::string | generateSignLabel (unsigned int signNum) |
| virtual DtVector | calcRunwayHalfwaySignPos (const double signOffset, const RunwaySignPlacement signPlacement, const DtRunwayData &runwayData) |
| virtual double | offsetForDistanceSignSize (unsigned int size) |
| virtual DtVector | geodeticToCig (const DtVector &pos) const |
Public Member Functions inherited from makVrv::DtVirtualBaseClass | |
| DtVirtualBaseClass () | |
| virtual | ~DtVirtualBaseClass () |
Static Public Member Functions | |
| static DtTaxiwaySignManager & | instance (DtDe &anIG) |
Public Attributes | |
| boost::signalslib::signal < void(DtTaxiwaySignData &)> | signal_TaxiwaySignDeleted |
| boost::signalslib::signal < void(DtTaxiwaySignData &)> | signal_TaxiwaySignCreated |
Protected Member Functions | |
| virtual void | slot_coordinateSystemChanged () |
| DtTaxiwaySignManager (DtDe &de) | |
Protected Attributes | |
| DtDe & | myDe |
| DtSignalConnectionManager | myConnections |
| DtTaxiwaySignParser * | mySignParser = nullptr |
| DtTextureAtlasIndexParser * | myTaxiwaySignTextureAtlasParser = nullptr |
| tbb::concurrent_queue < DtTaxiwaySignData > | myTaxiSignCreateQueue |
| tbb::concurrent_queue < DtTaxiwaySignData > | myTaxiSignDeleteQueue |
| tbb::concurrent_queue < DtRunwayData > | myRunwayDataCreateQueue |
| tbb::concurrent_queue < DtRunwayData > | myRunwayDataDeleteQueue |
| std::unordered_map< DtUniqueID, DtOsgArticulatedModel * > | myTaxiwaySigns |
| std::unordered_map< DtUniqueID, std::vector < DtOsgArticulatedModel * > > | myRunwaySigns |
| std::unordered_map< DtUniqueID, DtSceneObject * > | mySceneObjs |
| std::map< unsigned int, std::string > | myTaxiwaySignModelDefinitions |
| std::string | myDefaultTaxiwaySignModelDefinition |
| unsigned int | myTaxiwaySignModelMaxSegments |
| unsigned int | myTaxiwaySignModelLettersPerSegment |
| DtCoordinateSystem * | myCoordinateSystem = nullptr |
Private Member Functions | |
| void | destroy (DtTaxiwaySignData &signData) |
| void | destroy (DtRunwayData &runwayData) |
| typedef std::vector<DtTaxiwaySignLetter> makVrv::DtTaxiwaySignManager::TaxiwaySignSide |
|
virtual |
DTOR.
|
delete |
not allowed
|
delete |
not allowed
|
protected |
|
static |
Get an instance of the taxiway sign manager.
|
delete |
not allowed
|
virtual |
Called when Aerodrome creates the Taxiway sign.
|
virtual |
Called when Aerodrome removes the Taxiway sign.
|
virtual |
Called when Aerodrome creates the runway so that we can add distance remaining signs.
|
virtual |
Called when Aerodrome removes the runway so that we can remove distance remaining signs.
|
virtual |
Convert position to identifier.
|
virtual |
Convert runway verts to identifier.
|
virtual |
Take the sign text in Xplane format, parse it and apply it to the model.
|
virtual |
What model definition goes with which sign size (size = 1,2,3,4,5) default is SignTaxiwaySize1, SignTaxiwaySize2,...
Clear the default set of sign size model definition names that the DtTaxiwaySignManager uses, keeps default model definition.
|
virtual |
If we can't find a model for a particular size, what is the default.
The taxiway signs are based on 9 segments with 2 letters per segment However, other models might have more or less and more or less letters per segment How many segment are in the model used to represent the signs.
|
virtual |
How many characters are in each modeled sign segment.
|
virtual |
Set the uv offsets for each letter of the sign in the model using a dtxc file.
|
virtual |
Given the numebr of chars on the largest side of the sign clamp the number of chars and number of segments to fit the max the model can handle.
|
virtual |
Take element from the queue and made DtOsgArticulatedModels on the main thread (DtTaxiwaySignManager is part of osgEarth threads)
|
virtual |
Take information about the sign (size, letters, etc. and create and configure the model)
|
virtual |
Given a position and heading, place signs on either side of the runway.
|
virtual |
|
virtual |
Calculate the starting point and forward vector to step for placing signs on runways.
|
virtual |
Calculate the sign locations and labels for a side of the runway.
|
virtual |
Generate a right vector given a position and heading from north (in degrees)
|
virtual |
Create a sign with a given label for a particular runway.
Generate runway distance signs label (ex. " 1" instead of "1" for nicer formatting on the sign.
|
virtual |
Calculate the sign position for a half way marker.
Calculate the offset from the side of the runway for the runway distance marker based on size (4 or 5)
Convert (lon,lat,elevation) -> database coordinates.
|
protectedvirtual |
slot for when the coordinate system changes
|
private |
|
private |
| boost::signalslib::signal<void ( DtTaxiwaySignData& )> makVrv::DtTaxiwaySignManager::signal_TaxiwaySignDeleted |
| boost::signalslib::signal<void ( DtTaxiwaySignData& )> makVrv::DtTaxiwaySignManager::signal_TaxiwaySignCreated |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
local clone of the system wide coordinate system. for thread safety.