21 #include <matrix/vlDcm.h>
22 #include <geometry/intersectionRecord.h>
23 #include <geometry/point.h>
24 #include <geometry/chord.h>
27 class Coordinate_System;
31 class DtTerrainDatabase;
33 class DtChordIntersectionRecord;
34 class DtChordIntersectRecordList;
72 static void objectAboutToBeRemovedCallback(
DtVrfObject * vrfObject,
void * usr);
73 virtual void processObjectAboutToBeRemovedCallback(
DtVrfObject * vrfObject);
76 virtual const Coordinate_System* coordinateSystem()
const;
77 virtual Coordinate_System* coordinateSystem();
78 virtual const Coordinate_System* objectModelCoordinateSystem()
const;
81 virtual double terrainHeight(
const DtVector& localLocation,
82 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
83 virtual bool terrainHeight(
const DtVector& localLocation,
84 double& terrainHeight,
bool* dataAvailable = 0,
85 bool overrideBlockingAssert =
false)
const;
87 virtual bool terrainHeightAndSurface(
const DtVector& localLocation,
88 double& terrainHeight, DtSurface& surface,
bool* dataAvailable = 0,
89 bool overrideBlockingAssert =
false)
const;
92 virtual bool closestIntersection(
const DtVector& localLocation,
93 DtPoint& intersectionPoint,
94 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
96 virtual bool closestIntersection(
const DtVector& localLocation,
98 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
100 virtual bool closestIntersection(
const DtVector& localLocation,
101 DtChordIntersectionRecord& record,
102 DtIntersectionRecord::DtIntersectionType irtFlag =
103 DtIntersectionRecord::INT_ALL_DATA,
104 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
106 virtual bool intersect(
const DtChord& chord, DtPoint& intersectionPoint,
107 double& intersectionTime,
108 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
110 virtual bool intersect(
const DtChord& chord,
111 DtChordIntersectionRecord& record,
112 DtIntersectionRecord::DtIntersectionType irtFlag =
113 DtIntersectionRecord::INT_ALL_DATA,
114 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
122 virtual bool closestIntersection(
const DtVector& curPosition,
124 bool overrideBlockingAssert =
false)
const;
151 virtual bool allIntersectsAlongChord(
const DtChord& chord,
152 DtChordIntersectRecordList& intList,
153 DtIntersectionRecord::DtIntersectionType irtFlag =
154 DtIntersectionRecord::INT_ALL_DATA,
bool* dataAvailable = 0,
155 bool overrideBlockingAssert =
false)
const;
158 bool testInvariant()
const;
162 virtual double setOriginToDatabase();
165 virtual const DtDcm& rotateToDcm()
const;
166 virtual const DtDcm& rotateBackDcm()
const;
173 virtual DtChord convertAndRotateChordToLocal(
const DtChord& source)
const;
176 virtual DtPoint convertLocalToSimTerrain(
const DtPoint&,
double addHeight = 0.)
const;
180 virtual void convertLocalToSimTerrain(DtChordIntersectionRecord&,
double addHeight = 0.)
const;
183 void setObjectName(
const DtString&);
186 void setObjectType(
const DtObjectType&);
187 const DtObjectType& objectType()
const;
191 int referenceCount()
const;