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;
72 virtual const Coordinate_System* coordinateSystem()
const;
73 virtual Coordinate_System* coordinateSystem();
74 virtual const Coordinate_System* objectModelCoordinateSystem()
const;
77 virtual double terrainHeight(
const DtVector& localLocation,
78 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
79 virtual bool terrainHeight(
const DtVector& localLocation,
80 double& terrainHeight,
bool* dataAvailable = 0,
81 bool overrideBlockingAssert =
false)
const;
83 virtual bool terrainHeightAndSurface(
const DtVector& localLocation,
84 double& terrainHeight, DtSurface& surface,
bool* dataAvailable = 0,
85 bool overrideBlockingAssert =
false)
const;
88 virtual bool closestIntersection(
const DtVector& localLocation,
89 DtPoint& intersectionPoint,
90 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
92 virtual bool closestIntersection(
const DtVector& localLocation,
94 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
96 virtual bool closestIntersection(
const DtVector& localLocation,
97 DtChordIntersectionRecord& record,
98 DtIntersectionRecord::DtIntersectionType irtFlag =
99 DtIntersectionRecord::INT_ALL_DATA,
100 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
102 virtual bool intersect(
const DtChord& chord, DtPoint& intersectionPoint,
103 double& intersectionTime,
104 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
106 virtual bool intersect(
const DtChord& chord,
107 DtChordIntersectionRecord& record,
108 DtIntersectionRecord::DtIntersectionType irtFlag =
109 DtIntersectionRecord::INT_ALL_DATA,
110 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
118 virtual bool closestIntersection(
const DtVector& curPosition,
120 bool overrideBlockingAssert =
false)
const;
123 bool testInvariant()
const;
127 virtual double setOriginToDatabase();
130 virtual const DtDcm& rotateToDcm()
const;
131 virtual const DtDcm& rotateBackDcm()
const;
138 virtual DtChord convertAndRotateChordToLocal(
const DtChord& source)
const;
141 virtual DtPoint convertLocalToSimTerrain(
const DtPoint&,
double addHeight = 0.)
const;
145 virtual void convertLocalToSimTerrain(DtChordIntersectionRecord&,
double addHeight = 0.)
const;
148 void setObjectName(
const DtString&);
151 void setObjectType(
const DtObjectType&);
152 const DtObjectType& objectType()
const;
156 int referenceCount()
const;