18 #include <matrix/vlVector.h>
20 #include <boost/unordered_map.hpp>
24 class DtOsgArticulatedModel;
25 class DtTaxiwaySignParser;
26 class DtTextureAtlasIndexParser;
29 class DtTaxiwaySignSignaler;
93 typedef boost::unordered_map<DtUniqueID, DtOsgArticulatedModel* >
96 typedef boost::unordered_map<DtUniqueID, std::vector<DtOsgArticulatedModel*> >
99 typedef boost::unordered_map<DtUniqueID, DtSceneObject* >
128 virtual void slot_RunwayCreated(
DtRunwayData& runwayData);
132 virtual void slot_RunwayDestroyed(
DtRunwayData& runwayData);
135 virtual std::size_t hashPos(
DtVector& pos);
143 const std::string& atlasFileName,
const std::string& text);
147 virtual void setModelDefinitionForSize(
unsigned int size,
const std::string& modelDef);
151 virtual void clearModelDefinitionForSize(
unsigned int size);
155 virtual void setDefaultModelDefinition(
const std::string& modelDef);
161 virtual void setSignMaxSegments(
unsigned int maxSegments);
164 virtual void setSignCharactersPerSegment(
unsigned int charsPerSegment);
168 virtual void setTaxiwaySignUVOffsets(
170 unsigned int numChars);
175 virtual bool setMaxSignLimits(
unsigned int& numSegments,
unsigned int& numChars);
179 virtual void updateTaxiwaySignManager();
187 virtual void createRunwaySigns(
DtRunwayData& runwayData,
188 const RunwaySignType signType,
const RunwaySignPlacement signPlacement);
190 virtual void createAndPlaceHalfwayRunwayDistanceSign(
191 const DtRunwayData &runwayData,
const double signWidthOffset,
192 const RunwaySignPlacement signPlacement,
DtUniqueID runwayID);
196 virtual void extractRunwayStartAndForward(
const DtRunwayData &runwayData,
198 const RunwaySignPlacement signPlacement);
201 virtual void generateSignLocationsAndStrings(std::vector<DtVector>& signLocations,
202 std::vector<std::string>& signLabels,
const double signSpacing,
203 const double signOffset, RunwaySignType signType,
204 const RunwaySignPlacement signPlacement,
const DtRunwayData& runwayData);
209 const double headingDeg);
212 virtual void createAndPlaceRunwayDistanceSign(
const DtVector& signLoc,
213 const std::string& label,
const RunwaySignPlacement signPlacement,
214 const double heading,
const unsigned int signSize,
DtUniqueID runwayID);
218 virtual std::string generateSignLabel(
unsigned int signNum);
221 virtual DtVector calcRunwayHalfwaySignPos(
const double signOffset,
222 const RunwaySignPlacement signPlacement,
const DtRunwayData& runwayData);
226 double offsetForDistanceSignSize(
unsigned int size);