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

Classes | |
| class | DtDtgRunwayData |
| class | DtDtgSignData |
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 void | determineSignTypeAndCreate (DtTaxiwaySignData &signData) |
| 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 | setTaxiwayDesignator (DtOsgArticulatedModel *taxiwaySign, const std::string &atlasFileName, DtTaxiwaySignManager::TaxiwaySignSide &frontSide, DtTaxiwaySignManager::TaxiwaySignSide &backSide) |
| 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 DtUniqueID | createTaxiwaySign (DtTaxiwaySignData &signData, const DtVector &signLocation, TaxiwaySignSide &frontSide, TaxiwaySignSide &backSide, double heading, const std::string &groupName) |
| 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 DtVector | generateFrontVectorAtPos (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 () |
| virtual std::string | findRunwayForDtgSign (DtDtgSignData *signData) |
| virtual bool | isRunwayClosestToSignSoFar (const DtDtgRunwayData &runway, DtDtgSignData &sign) |
| virtual bool | isRunwayDtgHeadingCandidate (double signHeading, double runwayHeading) |
| virtual bool | isCloser (DtDtgSignData &signData, const DtVector &runwayStart, const DtVector &runwayEnd) |
| virtual std::string | pickRunwayNameForSignBasedOnHeading (const DtDtgRunwayData &runway, DtDtgSignData &sign) |
| DtTaxiwaySignManager (DtDe &de) | |
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 |
Determine if this is a taxiway sign or a Distance To Go (DTG) sign. Calls createTaxiwaySign for a taxiway sign; calls it TWICE for a Distance To Go sign (one for each facing direction).
|
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 |
Alternate form of setTaxiwayDesignator that takes the frontside and backside sign data that has been parsed from the original xplane data. This form is called by void setTaxiwayDesignator(DtOsgArticulatedModel* taxiwaySign, const std::string& atlasFileName, const std::string& text)
|
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 |
Generate a front 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)
|
virtual |
Convert (lon,lat,elevation) -> database coordinates.
|
protectedvirtual |
slot for when the coordinate system changes
|
protectedvirtual |
Iterate over all the runways we have so far, and find the closest runway to it (with a correct heading) Called when a new DTG sign is discovered. If no candidate based on heading exists yet, and empty string is returned. Otherwise any runway with the right heading will be the closest 'so far'.
|
protectedvirtual |
Called each time a new runway is discovered with all DTG signs so far; and also called by findRunwayForDtgSign. DtDtgSignData is not const, as it calls isCloser(), which may change it.
|
protectedvirtual |
Compare a DTG sign heading to a runway heading to determine if the sign could possibly be on that runway. Called by isRunwayClosestToSignSoFar().
|
protectedvirtual |
Determine if a sign is closer the the specified runway location than any other it may have found. DtDtgSignData is not const, since it's 'closest so far' data may be updated as a side effect.
|
protectedvirtual |
Each physical runway has two names, one for each 'logical runway' direction. Determine, from the direction the DTG sign is facing, which runway name to use.
|
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 |
|
protected |
|
protected |
|
protected |
local clone of the system wide coordinate system. for thread safety.