18 #include <boost/signal.hpp>
19 #include <matrix/vlVector.h>
20 #include <matrix/geodeticCoord.h>
21 #include <matrix/3dBoundingVolume.h>
22 #include <matrix/vlTaitBryan.h>
24 #include <vlpi/entityType.h>
27 class DtReferenceEllipsoid;
45 class DtVrfObjectManipulationHandlerBaseClass;
54 virtual const std::string& entityId()
const
59 virtual void setEntityId(
const std::string& i)
64 virtual const DtGeodeticCoord& locationOffsetFromPrincipal()
const;
65 virtual void setLocationOffsetFromPrincipal(
const DtGeodeticCoord& offset,
bool resetLocation =
true );
67 virtual double headingOffsetFromPrincipal()
const;
68 virtual void setHeadingOffsetFromPrincipal(
double offset );
70 virtual const DtEntityType& entityType()
const;
72 virtual Dt3dBoundingVolume boundingVolume()
const;
74 virtual double altitudeOffsetFromPrincipal()
const;
75 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
78 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const = 0;
81 virtual std::vector<makVrv::DtUniqueID> idsToIgnore()
const;
86 virtual std::string displayName()
const;
87 virtual void setDisplayName(
const std::string& displayName );
89 virtual void setUUID(
const DtUUID&);
90 virtual const DtUUID& uuid()
const;
92 virtual DtGeodeticCoord currentGeodeticOrigin()
const;
95 virtual DtGeodeticCoord currentGeodeticPosition()
const;
97 virtual DtGeodeticCoord convertToGeodetic(
const DtVector& v)
const;
99 virtual double currentHeading()
const;
100 virtual void setCurrentHeading(
double currentHeading );
101 virtual void setHeadingChanged(
bool b);
104 virtual void setSelected(
bool);
108 virtual bool attachedTo()
const;
109 virtual void detach();
112 virtual std::string overlayName()
const;
115 virtual double currentAltitude()
const;
118 virtual DtVector centerOfMass()
const;
120 virtual DtVector geocentricLocation()
const;
121 virtual DtVector localLocation()
const;
122 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
125 virtual double initialAltitudeAboveTerrain()
const;
131 virtual DtTaitBryan localOrientation()
const;
134 virtual void setExtendedData(
const std::map<std::string, std::string>&)
138 virtual void mergeExtendedData(
const std::map<std::string, std::string>&)
142 virtual std::map<std::string, std::string> extendedData()
const
144 return std::map<std::string, std::string>();
146 virtual std::map<int, DtString> extendedLabels()
const
148 return std::map<int, DtString>();
156 virtual void setOrigin(
const DtGeodeticCoord&);
157 virtual void setOrigin(
const DtVector&);
159 virtual void setSymbolNameVisible(
bool) = 0;
161 virtual void setPickable(
bool) = 0;
162 virtual void setIndicatorVisible(
bool) = 0;
163 virtual void setWidgetEventsEnabled(
bool) = 0;
164 virtual void setHatLineVisible(
bool) = 0;
169 virtual void setVisible(
bool);
170 virtual bool isVisible()
const;
173 virtual void setTopographicOrientation(
const DtTaitBryan&) = 0;
174 virtual void setLocalOrientation(
const DtTaitBryan&) = 0;
177 virtual void unrealizeFacades() = 0;
180 virtual void realizeFacades() = 0;
182 virtual bool hasNameChange()
const
184 return myDisplayNameChanged;
187 virtual void clearLocationChange()
189 myLocationChanged =
false;
192 virtual bool hasLocationChange()
const
194 return myLocationChanged;
197 virtual bool hasAltitudeChange()
const
199 return myAltitudeChanged;
202 virtual bool hasHeadingChange()
const
204 return myHeadingChanged;
207 virtual void clearFlags();
212 return myAltitudeClampType;
215 virtual void setAltitudeAboveTerrain(
double);
216 virtual double altitudeAboveTerrain()
const
218 return myAltitudeAboveGL;
221 virtual void setAltitudeAboveSeaLevel(
double);
222 virtual double altitudeAboveSeaLevel()
const
224 return myAltitudeAboveSL;
227 virtual void setIsAnchor(
bool);
228 virtual bool isAnchor()
const
233 virtual void setUserData(
const std::string& userData);
234 virtual std::string userData()
const;
235 bool userDataChanged()
const
237 return myUserDataChanged;
242 return myModelSetOnly;
245 bool supportsModelSet(
int i)
const
247 return ((myModelSetOnly == -1) || (i == myModelSetOnly));
257 virtual void setEmbarkationAllowed(
bool);
258 bool embarkationAllowed()
const;
260 virtual void setClampToClosestPolygon(
bool b)
262 myClampToClosestPolygon = b;
265 bool clampToClosestPolygon()
const
267 return myClampToClosestPolygon;
271 virtual void setCurrentGroundLocation(
const DtGeodeticCoord& currentGroundLocation );