22 #include <matrix/vlDcm.h>
26 #include <matrix/topoCoord.h>
27 #include <matrix/geodeticCoord.h>
28 #include <matrix/coordTransform.h>
29 #include <matrix/3dBoundingVolume.h>
31 #include <boost/shared_ptr.hpp>
32 #include <boost/optional.hpp>
77 static void objectAboutToBeRemovedCallback(
const DtVrfObject * vrfObject,
void * usr);
78 virtual void processObjectAboutToBeRemovedCallback(
const DtVrfObject * vrfObject);
89 virtual bool isHighFidelityTerrain()
const;
91 virtual bool skipThisObject()
const;
94 virtual void setStayAttachedEvenIfOff(
bool);
95 virtual bool stayAttachedEvenIfOff()
const;
97 void setFallThroughToPhysicalWorld(
bool val);
98 bool fallThroughToPhysicalWorld()
const;
100 virtual double terrainHeight(
const DtVector& localLocation,
101 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
102 virtual bool terrainHeight(
const DtVector& localLocation,
103 double& terrainHeight,
bool* dataAvailable = 0,
104 bool overrideBlockingAssert =
false)
const;
106 virtual bool terrainHeightAndSurface(
double lat,
double lon,
107 double& terrainHeight,
DtSurface& surface,
bool* dataAvailable = 0,
108 bool overrideBlockingAssert =
false)
const;
110 virtual bool terrainHeightAndSurface(
const DtVector& localLocation,
111 double& terrainHeight,
DtSurface& surface,
bool* dataAvailable = 0,
112 bool overrideBlockingAssert =
false)
const;
115 virtual bool closestIntersection(
const DtVector& localLocation,
117 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
119 virtual bool closestIntersection(
const DtVector& localLocation,
121 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
123 virtual bool closestIntersection(
const DtVector& localLocation,
127 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
129 virtual bool intersect(
const DtChord& chord,
DtPoint& intersectionPoint,
130 double& intersectionTime,
131 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
133 virtual bool intersect(
const DtChord& chord,
137 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false)
const;
145 virtual bool closestIntersection(
const DtVector& curPosition,
147 bool overrideBlockingAssert =
false)
const;
174 virtual bool allIntersectsAlongChord(
const DtChord& chord,
178 bool overrideBlockingAssert =
false)
const;
184 virtual void updateCoordTransforms();
187 virtual void updateBoundingVolume();
194 virtual DtChord convertLocalChordToModelChord(
const DtChord& source)
const;
197 virtual DtVector convertModelPointToDatabasePoint(
const DtPoint&)
const;
203 virtual unsigned intersectChordWithBoundingVolume(
const DtChord& chord,
207 virtual unsigned intersectChordWithBoundingVolume(
const DtChord& chord,
bool calculateNormal,
211 virtual bool boundingVolumeAltitude(
const DtVector& p,
double& alt)
const;
216 virtual bool entityIsValidAndAttached()
const;
218 virtual int appearanceFlags()
const;
DtVector myLastWorldPosition
Definition: attachedTerrain.h:251
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
boost::shared_ptr< DtTerrainInterface > myObjectGeometricModel
For now, this is the model that we get.
Definition: attachedTerrain.h:238
DtVrfObject * myVrfObject
Definition: attachedTerrain.h:255
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is.
Definition: attachedTerrain.h:42
DtVrfChordIntersectionRecord represents a list of DtChordIntersectRecords.
Definition: vrfChordIntersectRecordList.h:31
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtDcm myLastWorldOrientationMatrix
Definition: attachedTerrain.h:249
Definition: symbolString.h:20
DtCoordTransform myModelNormalToLocalNormal
Definition: attachedTerrain.h:248
DtRwVrfObjectReference myEntity
Definition: attachedTerrain.h:235
int myAttachedEntityAppearance
Definition: attachedTerrain.h:259
Definition: readerWriter.h:85
*bool testInvariant() const
**virtual void setObjectGeometricModel(const DtObjectGeometricModel *)
boost::optional< Dt3dBoundingVolume > myLastLocalBoundingVolume
Definition: attachedTerrain.h:253
Definition: readerWriterRegistry.h:39
Definition: surface.h:179
DtPhysicalWorld * myPhysicalWorld
For now,just use the global terrain database to return the coordinate system and perform the intersec...
Definition: attachedTerrain.h:242
DtVector myLastLocalPosition
Definition: attachedTerrain.h:252
DtSharedVrfObjectReference class will allocate an empty DtVrfObjectReference if one is not assigned s...
Definition: vrfObjectReference.h:102
bool myAttachedEntityIsMobile
Definition: attachedTerrain.h:260
The DtPhysicalWorld is the primary interface to and manager of all of the "physical" aspects of the s...
Definition: physicalWorld.h:88
Definition: coordSystem.h:54
DtDcm myLastLocalOrientationMatrix
Definition: attachedTerrain.h:250
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
bool myInitialPlacement
Definition: attachedTerrain.h:264
DtRwBoolean myStayAttachedEvenIfOff
Definition: attachedTerrain.h:256
DtTerrainInterface allows access to common terrain calls without having to know the terrain implement...
Definition: terrainInterface.h:88
const char * source
Definition: lz4.h:442
bool myFallThroughToPhysicalWorld
Definition: attachedTerrain.h:258
bool myCheckMovingToNonMoving
Definition: attachedTerrain.h:262
Class used as the reader/writer implementation of the DtVrfObjectReference.
Definition: vrfObjectReference.h:204
*virtual const DtObjectGeometricModel * objectGeometricModel() const
Definition: vrfChordIntersectionRecord.h:19
DT_DLL_vrfutil bool intersection(const DtRailSegment *currentSegment, const DtRailSegment *nextSegment)
Given two segments, determine if where they meet is an intersection or just a bend in the road...
bool myScenarioIsRunning
Definition: attachedTerrain.h:261
Definition: intersectionRecord.h:60
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
A DtChord is a finite line segment in 3-space, represented by two points.
DtCoordTransform myGeocentricToTopographic
Last local orientation of the referenced entity.
Definition: attachedTerrain.h:246
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
bool myBVChanged
Definition: attachedTerrain.h:263
DtCoordTransform myTopographicToGeocentric
Definition: attachedTerrain.h:247
bool myMadeInitialPlacement
Definition: attachedTerrain.h:265
DtIntersectionType
Definition: intersectionRecord.h:41