20 #include <matrix/vlVector.h>
21 #include <matrix/geodeticCoord.h>
22 #include <matrix/3dBoundingVolume.h>
23 #include <matrix/vlTaitBryan.h>
25 #include <vlpi/entityType.h>
28 #include <boost/signals2.hpp>
32 class DtReferenceEllipsoid;
51 class DtVrfObjectManipulationHandlerBaseClass;
70 virtual void setTopographicOffsetBetweenPoints(
const DtGeodeticCoord&
origin,
const DtGeodeticCoord& originWithOffset,
bool resetLocation =
true);
71 virtual void setTopographicOffsetFromPrincipal(
const DtVector&,
bool resetLocation =
true);
72 const DtVector& topographicOffsetFromPrincipal()
const;
74 virtual DtVector convertGeodeticOffsetFromOriginToTopographicOffsetFromOrigin(
const DtGeodeticCoord&)
const;
75 virtual DtGeodeticCoord locationFromTopographicOffsetFromCenterPoint(
const DtGeodeticCoord&
origin)
const;
76 virtual DtVector convertGeodeticOffsetToTopographicOffset(
const DtGeodeticCoord&
origin,
const DtGeodeticCoord& position)
const;
78 virtual double headingOffsetFromPrincipal()
const;
79 virtual void setHeadingOffsetFromPrincipal(
double offset );
81 virtual double pitchOffsetFromPrincipal()
const;
82 virtual void setPitchOffsetFromPrincipal(
double offset );
84 virtual const DtEntityType& entityType()
const;
85 virtual const DtEntityType& objectType()
const;
89 virtual DtGeodeticCoord modifyPointByTopographicOffset(
const DtGeodeticCoord&
origin,
const DtVector& topographicOffset)
const;
90 virtual double altitudeOffsetFromPrincipal()
const;
91 virtual void setAltitudeOffsetFromPrincipal(
double offset,
bool resetLocation =
true );
95 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const = 0;
99 virtual void setOverrideIdsToIgnore(
const std::vector<makVrv::DtUniqueID>& overrideIgnore);
102 virtual const std::vector<makVrv::DtUniqueID>& idsToIgnore()
const;
107 virtual std::string displayName()
const;
108 virtual void setDisplayName(
const std::string& displayName );
110 virtual void setUUID(
const DtUUID&);
111 virtual const DtUUID& uuid()
const;
113 virtual DtGeodeticCoord currentGeodeticOrigin()
const;
116 virtual DtGeodeticCoord currentGeodeticPosition()
const;
118 virtual DtGeodeticCoord convertToGeodetic(
const DtVector& v)
const;
120 virtual double currentHeading()
const;
121 virtual void setCurrentHeading(
double currentHeading );
122 virtual void setHeadingChanged(
bool b);
124 virtual double currentPitch()
const;
125 virtual void setCurrentPitch(
double currentPitch );
126 virtual void setPitchChanged(
bool b);
129 virtual void setSelected(
bool);
135 return myAttachPoint;
140 return myAttachOrientation;
148 virtual bool attachedTo()
const;
149 virtual void detach();
152 virtual std::string overlayName()
const;
155 virtual double currentAltitude()
const;
158 virtual DtVector centerOfMass()
const;
160 virtual DtVector geocentricLocation()
const;
161 virtual DtVector localLocation()
const;
162 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
165 virtual double initialAltitudeAboveTerrain()
const;
168 virtual DtVector reviseLocation(
const DtVector& loc,
int clampType = -1)
const;
171 virtual DtTaitBryan localOrientation()
const;
178 virtual void setExtendedData(
const std::map<DtString, DtString>&);
186 return std::map<std::string, std::string>();
190 return std::map<int, DtString>();
200 virtual void setOrigin(
const DtGeodeticCoord&);
201 virtual void setOrigin(
const DtVector&);
205 virtual void setPickable(
bool) = 0;
206 virtual void setIndicatorVisible(
bool) = 0;
207 virtual void setWidgetEventsEnabled(
bool) = 0;
208 virtual void setHatLineVisible(
bool) = 0;
214 virtual bool isVisible()
const = 0;
217 virtual void setVisible(
bool show,
bool updateOffsets =
true);
220 virtual void setTopographicOrientation(
const DtTaitBryan&) = 0;
221 virtual void setLocalOrientation(
const DtTaitBryan&) = 0;
224 virtual void unrealizeFacades(
bool willRecreate =
false) = 0;
227 virtual void realizeFacades() = 0;
231 myHeadingChanged =
false;
236 myPitchChanged =
false;
241 return myDisplayNameChanged;
246 myLocationChanged =
false;
251 return myLocationChanged;
256 return myAltitudeChanged;
261 return myHeadingChanged;
266 return myPitchChanged;
269 virtual void clearFlags();
274 return myAltitudeClampType;
277 virtual void setAltitudeAboveTerrain(
double);
280 return myAltitudeAboveGL;
283 virtual void setAltitudeAboveSeaLevel(
double);
286 return myAltitudeAboveSL;
289 virtual void setIsAnchor(
bool);
295 virtual void setUserData(
const std::string& userData);
296 virtual std::string userData()
const;
299 return myUserDataChanged;
304 return myModelSetOnly;
320 virtual void setEmbarkationAllowed(
bool);
321 bool embarkationAllowed()
const;
337 return (myAltitudeClampType ==
NoClamp);
342 myClampToClosestPolygon = b;
347 return myClampToClosestPolygon;
351 virtual void setCurrentGroundLocation(
const DtGeodeticCoord& currentGroundLocation );
double myAltitudeOffsetFromPrincipal
Definition: vrfObjectFacadeInterface.h:360
DtTaitBryan myOrientation
geodetic coords
Definition: vrfObjectFacadeInterface.h:363
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual bool isAnchor() const
Definition: vrfObjectFacadeInterface.h:290
IntersectProperties
The IntersectProperties enum is a flag set that indicates the types of nodes to be considered for int...
Definition: DtIntersector.h:31
bool userDataChanged() const
Definition: vrfObjectFacadeInterface.h:297
std::vector< makVrv::DtUniqueID > myModelIds
Definition: vrfObjectFacadeInterface.h:390
bool myClampToClosestPolygon
Definition: vrfObjectFacadeInterface.h:380
ModelSetVisualizationMap myModelSetVisualizationMap
Definition: vrfObjectFacadeInterface.h:396
double myAltitudeAboveSL
Definition: vrfObjectFacadeInterface.h:373
std::vector< makVrv::DtUniqueID > myOverrideIdsToIgnore
Definition: vrfObjectFacadeInterface.h:392
virtual bool hasAltitudeChange() const
Definition: vrfObjectFacadeInterface.h:254
virtual bool hasNameChange() const
Definition: vrfObjectFacadeInterface.h:239
virtual std::map< std::string, std::string > extendedData() const
Definition: vrfObjectFacadeInterface.h:184
std::vector< makVrv::DtElementID > myUnifiedIgnoreList
Definition: vrfObjectFacadeInterface.h:388
voidpf uLong int origin
Definition: ioapi.h:42
Contains integers that determine the context with which to show/hide a visualizer.
virtual const std::string & entityId() const
Definition: vrfObjectFacadeInterface.h:60
DtVector myTopographicOffsetFromPrincipal
Definition: vrfObjectFacadeInterface.h:394
bool doNotClamp() const
Definition: vrfObjectFacadeInterface.h:335
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_visualized
Definition: vrfObjectFacadeInterface.h:193
ShowHideContext
Definition: DtShowHideContext.h:18
bool myPitchChanged
Definition: vrfObjectFacadeInterface.h:369
virtual double altitudeAboveSeaLevel() const
Definition: vrfObjectFacadeInterface.h:284
Contains the DtUUID class declaration.
Definition: vrfObjectFacadeInterface.h:47
std::map< makVrv::DtModelSetId, bool > ModelSetVisualizationMap
Definition: vrfObjectFacadeInterface.h:395
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
virtual std::map< int, DtString > extendedLabels() const
Definition: vrfObjectFacadeInterface.h:188
virtual void setExtendedData(const std::map< std::string, std::string > &)
For subclasses to implement...
Definition: vrfObjectFacadeInterface.h:174
bool supportsModelSet(makVrv::DtModelSetId i) const
Definition: vrfObjectFacadeInterface.h:307
bool myDisplayNameChanged
Definition: vrfObjectFacadeInterface.h:365
bool clampToClosestPolygon() const
Definition: vrfObjectFacadeInterface.h:345
Definition: vrfObjectFacadeInterface.h:45
makVrv::DtModelSetId modelSet() const
Definition: vrfObjectFacadeInterface.h:302
double myAltitudeAboveGL
Definition: vrfObjectFacadeInterface.h:374
makVrv::DtUniqueID mySceneObjectId
Definition: vrfObjectFacadeInterface.h:355
Contains makVrv:DtIntersector class.
makVrv::DtDe & myDe
Definition: vrfObjectFacadeInterface.h:354
DtVrfObjectFacadeInterface * attachedToObject() const
Definition: vrfObjectFacadeInterface.h:143
bool myHeadingChanged
Definition: vrfObjectFacadeInterface.h:368
virtual bool hasPitchChange() const
Definition: vrfObjectFacadeInterface.h:264
DtGeodeticCoord myCurrentGroundLocation
Definition: vrfObjectFacadeInterface.h:362
bool myUserDataChanged
Definition: vrfObjectFacadeInterface.h:370
Definition: vrfObjectFacadeInterface.h:53
bool myAnchor
Definition: vrfObjectFacadeInterface.h:375
DtUUID myUUID
Definition: vrfObjectFacadeInterface.h:381
std::string myDisplayName
Definition: vrfObjectFacadeInterface.h:356
Definition: DtIntersector.h:35
bool myAltitudeChanged
Definition: vrfObjectFacadeInterface.h:367
virtual DtAltitudeClampType altitudeClampType() const
Definition: vrfObjectFacadeInterface.h:272
std::string myEntityId
Definition: vrfObjectFacadeInterface.h:357
DtAltitudeClampType myAltitudeClampType
Definition: vrfObjectFacadeInterface.h:372
virtual void clearPitchChanged()
Definition: vrfObjectFacadeInterface.h:234
DtVector myAttachPoint
Definition: vrfObjectFacadeInterface.h:385
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
virtual bool hasLocationChange() const
Definition: vrfObjectFacadeInterface.h:249
Definition: vrfObjectFacadeInterface.h:46
virtual void setClampToClosestPolygon(bool b)
Definition: vrfObjectFacadeInterface.h:340
Definition: vrfObjectFacadeInterface.h:48
virtual void setEntityId(const std::string &i)
Definition: vrfObjectFacadeInterface.h:65
std::string myUserData
Definition: vrfObjectFacadeInterface.h:376
DtVrfObjectFacadeInterface * myAttachedTo
Definition: vrfObjectFacadeInterface.h:384
virtual void setDoNotClamp(bool b)
Definition: vrfObjectFacadeInterface.h:323
makVrv::DtModelSetId myModelSetOnly
Definition: vrfObjectFacadeInterface.h:378
Contains makVrv::DtUniqueID type.
const DtTaitBryan & attachedOrientation()
Definition: vrfObjectFacadeInterface.h:138
DtTaitBryan myOrientationOffset
Definition: vrfObjectFacadeInterface.h:359
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:76
boost::signals2::signal< void(DtVrfObjectFacadeInterface *)> signal_originChanged
Definition: vrfObjectFacadeInterface.h:194
bool myEmbarkationAllowed
Definition: vrfObjectFacadeInterface.h:382
virtual void clearHeadingChanged()
Definition: vrfObjectFacadeInterface.h:229
DtTaitBryan myAttachOrientation
Definition: vrfObjectFacadeInterface.h:386
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
boost::signals2::signal< void(DtVrfObjectFacadeInterface *, bool)> signal_selected
Definition: vrfObjectFacadeInterface.h:195
virtual bool hasHeadingChange() const
Definition: vrfObjectFacadeInterface.h:259
DtEntityType myEntityType
Definition: vrfObjectFacadeInterface.h:379
virtual void mergeExtendedData(const std::map< std::string, std::string > &)
Definition: vrfObjectFacadeInterface.h:180
bool myLocationChanged
Definition: vrfObjectFacadeInterface.h:366
std::set< makVrv::DtUniqueID > myDIGuyIdsIgnored
Definition: vrfObjectFacadeInterface.h:389
Contains various enum classes relating to model sets.
virtual void clearLocationChange()
Definition: vrfObjectFacadeInterface.h:244
DtAltitudeClampType
Definition: vrfObjectFacadeInterface.h:43
virtual double altitudeAboveTerrain() const
Definition: vrfObjectFacadeInterface.h:278
const DtVector & attachedPoint() const
Definition: vrfObjectFacadeInterface.h:133