22 #include <matrix/vlDcm.h>
26 #include <matrix/topoCoord.h>
27 #include <matrix/geodeticCoord.h>
28 #include <matrix/coordTransform.h>
30 #include <boost/shared_ptr.hpp>
75 static void objectAboutToBeRemovedCallback(
DtVrfObject * vrfObject,
void * usr);
76 virtual void processObjectAboutToBeRemovedCallback(
DtVrfObject * vrfObject);
88 virtual bool isHighFidelityTerrain()
const;
91 virtual void setStayAttachedEvenIfOff(
bool);
92 virtual bool stayAttachedEvenIfOff()
const;
94 virtual double terrainHeight(
const DtVector& localLocation,
95 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
96 virtual bool terrainHeight(
const DtVector& localLocation,
97 double& terrainHeight,
bool* dataAvailable = 0,
98 bool overrideBlockingAssert =
false)
const;
100 virtual bool terrainHeightAndSurface(
double lat,
double lon,
101 double& terrainHeight,
DtSurface& surface,
bool* dataAvailable = 0,
102 bool overrideBlockingAssert =
false)
const;
104 virtual bool terrainHeightAndSurface(
const DtVector& localLocation,
105 double& terrainHeight,
DtSurface& surface,
bool* dataAvailable = 0,
106 bool overrideBlockingAssert =
false)
const;
109 virtual bool closestIntersection(
const DtVector& localLocation,
111 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
113 virtual bool closestIntersection(
const DtVector& localLocation,
115 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
117 virtual bool closestIntersection(
const DtVector& localLocation,
121 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
123 virtual bool intersect(
const DtChord& chord,
DtPoint& intersectionPoint,
124 double& intersectionTime,
125 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
127 virtual bool intersect(
const DtChord& chord,
131 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
139 virtual bool closestIntersection(
const DtVector& curPosition,
141 bool overrideBlockingAssert =
false)
const;
168 virtual bool allIntersectsAlongChord(
const DtChord& chord,
172 bool overrideBlockingAssert =
false)
const;
175 bool testInvariant()
const;
179 virtual void updateCoordTransforms();
182 virtual DtVector convertLocalPointToModelPoint(
const DtVector& source)
const;
186 virtual DtChord convertLocalChordToModelChord(
const DtChord& source)
const;
189 virtual DtVector convertModelPointToDatabasePoint(
const DtPoint&)
const;
196 virtual int appearanceFlags()
const;
198 void setObjectGeometricModel(boost::shared_ptr<DtTerrainInterface> newObjGeomModel);
199 boost::shared_ptr<DtTerrainInterface> objectGeometricModel()
const;