![]() |
VR-Forces 4.0.4 Class Documentation
|

Public Member Functions | |
| DtAttachedTerrain () | |
| default constructor | |
| DtAttachedTerrain (const DtString &name, DtReaderWriterRegistry *const parentRegistry=0) | |
| real constructor | |
| DtAttachedTerrain (const DtSymbolString &name, DtReaderWriterRegistry *const parentRegistry=0) | |
| DtAttachedTerrain (const DtString &name, const DtAttachedTerrain &orig, DtReaderWriterRegistry *const parentRegistry=0) | |
| copy constructor | |
| DtAttachedTerrain (const DtSymbolString &name, const DtAttachedTerrain &from, DtReaderWriterRegistry *const parentRegistry=0) | |
| virtual | ~DtAttachedTerrain () |
| destructor | |
| DtAttachedTerrain & | operator= (const DtAttachedTerrain &orig) |
| Assign to DtRwBoundingVolume. Assigns value only. | |
| DtAttachedTerrain & | operator= (const DtObjectGeometricModelEntry &orig) |
| virtual const char * | readerWriterType () const |
| Used to supply a string type that this reader writer type is. | |
| DtAttachedTerrain & | operator= (const DtObjectType &type) |
| virtual const Coordinate_System * | coordinateSystem () const |
| virtual Coordinate_System * | coordinateSystem () |
| virtual const Coordinate_System * | objectModelCoordinateSystem () const |
| virtual double | terrainHeight (const DtVector &localLocation, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | terrainHeight (const DtVector &localLocation, double &terrainHeight, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | terrainHeightAndSurface (const DtVector &localLocation, double &terrainHeight, DtSurface &surface, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | closestIntersection (const DtVector &localLocation, DtPoint &intersectionPoint, DtVectorNetworkRecord *vectorNetworkRecord=0, DtVectorNetworkIntersectionRecord *vecNetworkIntersectionRecord=0, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | closestIntersection (const DtVector &localLocation, DtVector &intersectionPoint, DtVectorNetworkRecord *vectorNetworkRecord=0, DtVectorNetworkIntersectionRecord *vecNetworkIntersectionRecord=0, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | closestIntersection (const DtVector &localLocation, DtChordIntersectionRecord &record, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, DtVectorNetworkRecord *vectorDatarecord=0, DtVectorNetworkIntersectionRecord *vectorIntersectionRecord=0, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | intersect (const DtChord &chord, DtPoint &intersectionPoint, double &intersectionTime, DtVectorNetworkRecord *record=0, DtVectorNetworkIntersectionRecord *intersectionRecord=0, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | intersect (const DtChord &chord, DtChordIntersectionRecord &record, DtIntersectionRecord::DtIntersectionType irtFlag=DtIntersectionRecord::INT_ALL_DATA, DtVectorNetworkRecord *vectorDatarecord=0, DtVectorNetworkIntersectionRecord *vectorIntersectionRecord=0, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| virtual bool | closestIntersection (const DtVector &curPosition, DtVector &intersection, bool ignoreWater, bool *dataAvailable=0, bool overrideBlockingAssert=false) const |
| Returns true if a there is a terrain intersection at the given local position. | |
| virtual const DtVectorNetwork * | vectorNetwork () const |
| virtual DtVectorNetwork* vectorNetwork(); | |
| void | setObjectName (const DtString &) |
| const DtString | objectName () const |
| void | setObjectType (const DtObjectType &) |
| const DtObjectType & | objectType () const |
| void | addRef () |
| void | removeRef () |
| int | referenceCount () const |
| void | setObjectGeometricModel (const DtObjectGeometricModel *newObjGeomModel) |
| const DtObjectGeometricModel * | objectGeometricModel () const |
| void | setEntity (const DtVrfObject *) |
| const DtVrfObject * | entity () const |
| void | setPhysicalWorld (DtPhysicalWorld *newPhysicalWorld) |
| DtPhysicalWorld * | physicalWorld () |
| const DtPhysicalWorld * | physicalWorld () const |
| void | clear () |
| virtual DtAttachedTerrain * | clone (const DtString &name, DtReaderWriterRegistry *const parentRegistry=0) const |
Protected Member Functions | |
| bool | testInvariant () const |
| virtual double | setOriginToDatabase () |
| Given the current entity, sets the geodetic origin in the terrain database to account for entity movement. | |
| virtual const DtDcm & | rotateToDcm () const |
| Creates a rotation Dcm based on current orientation. | |
| virtual const DtDcm & | rotateBackDcm () const |
| virtual DtVector | rotateTerrainLocation (const DtVector &source) const |
| Given the location, rotate it given the entity orientation. | |
| virtual DtChord | convertAndRotateChordToLocal (const DtChord &source) const |
| Converts the given chord from the simulation terrain database coordinate system into the current terrain database coordinate system. | |
| virtual DtPoint | convertLocalToSimTerrain (const DtPoint &, double addHeight=0.) const |
| Takes the local coordinates and converts it back to the simulation terrain. Adds height if supplied. | |
| virtual void | convertLocalToSimTerrain (DtChordIntersectionRecord &, double addHeight=0.) const |
| Converts both normal and intersection point. | |
Protected Attributes | |
| DtRwString | myObjectName |
| DtRwObjectType | myObjectType |
| int | myReferenceCount |
| const DtObjectGeometricModel * | myObjectGeometricModel |
| For now, this is the model that we get. | |
| const DtVrfObject * | myEntity |
| The entity this terrain represents. | |
| DtPhysicalWorld * | myPhysicalWorld |
| For now,just use the global terrain database to return the coordinate system and perform the intersection calls. | |
| DtTaitBryan | myLastEntityOrientation |
| Last local orientation of the referenced entity. | |
| DtDcm | myRotateToDcm |
| DtDcm | myRotateBackDcm |
default constructor
| DtAttachedTerrain::DtAttachedTerrain | ( | const DtString & | name, |
| DtReaderWriterRegistry *const | parentRegistry = 0 |
||
| ) |
real constructor
| DtAttachedTerrain::DtAttachedTerrain | ( | const DtSymbolString & | name, |
| DtReaderWriterRegistry *const | parentRegistry = 0 |
||
| ) |
| DtAttachedTerrain::DtAttachedTerrain | ( | const DtString & | name, |
| const DtAttachedTerrain & | orig, | ||
| DtReaderWriterRegistry *const | parentRegistry = 0 |
||
| ) |
copy constructor
| DtAttachedTerrain::DtAttachedTerrain | ( | const DtSymbolString & | name, |
| const DtAttachedTerrain & | from, | ||
| DtReaderWriterRegistry *const | parentRegistry = 0 |
||
| ) |
| virtual DtAttachedTerrain::~DtAttachedTerrain | ( | ) | [virtual] |
destructor
| DtAttachedTerrain& DtAttachedTerrain::operator= | ( | const DtAttachedTerrain & | orig | ) |
Assign to DtRwBoundingVolume. Assigns value only.
| DtAttachedTerrain& DtAttachedTerrain::operator= | ( | const DtObjectGeometricModelEntry & | orig | ) |
| virtual const char* DtAttachedTerrain::readerWriterType | ( | ) | const [virtual] |
Used to supply a string type that this reader writer type is.
This can be used in place of dynamic-casting. Also used by the opd editor to determine which type of control to create
Reimplemented from DtReaderWriter.
| DtAttachedTerrain& DtAttachedTerrain::operator= | ( | const DtObjectType & | type | ) |
| virtual const Coordinate_System* DtAttachedTerrain::coordinateSystem | ( | ) | const [virtual] |
| virtual Coordinate_System* DtAttachedTerrain::coordinateSystem | ( | ) | [virtual] |
| virtual const Coordinate_System* DtAttachedTerrain::objectModelCoordinateSystem | ( | ) | const [virtual] |
| virtual double DtAttachedTerrain::terrainHeight | ( | const DtVector & | localLocation, |
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::terrainHeight | ( | const DtVector & | localLocation, |
| double & | terrainHeight, | ||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::terrainHeightAndSurface | ( | const DtVector & | localLocation, |
| double & | terrainHeight, | ||
| DtSurface & | surface, | ||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::closestIntersection | ( | const DtVector & | localLocation, |
| DtPoint & | intersectionPoint, | ||
| DtVectorNetworkRecord * | vectorNetworkRecord = 0, |
||
| DtVectorNetworkIntersectionRecord * | vecNetworkIntersectionRecord = 0, |
||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::closestIntersection | ( | const DtVector & | localLocation, |
| DtVector & | intersectionPoint, | ||
| DtVectorNetworkRecord * | vectorNetworkRecord = 0, |
||
| DtVectorNetworkIntersectionRecord * | vecNetworkIntersectionRecord = 0, |
||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::closestIntersection | ( | const DtVector & | localLocation, |
| DtChordIntersectionRecord & | record, | ||
| DtIntersectionRecord::DtIntersectionType | irtFlag = DtIntersectionRecord::INT_ALL_DATA, |
||
| DtVectorNetworkRecord * | vectorDatarecord = 0, |
||
| DtVectorNetworkIntersectionRecord * | vectorIntersectionRecord = 0, |
||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::intersect | ( | const DtChord & | chord, |
| DtPoint & | intersectionPoint, | ||
| double & | intersectionTime, | ||
| DtVectorNetworkRecord * | record = 0, |
||
| DtVectorNetworkIntersectionRecord * | intersectionRecord = 0, |
||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::intersect | ( | const DtChord & | chord, |
| DtChordIntersectionRecord & | record, | ||
| DtIntersectionRecord::DtIntersectionType | irtFlag = DtIntersectionRecord::INT_ALL_DATA, |
||
| DtVectorNetworkRecord * | vectorDatarecord = 0, |
||
| DtVectorNetworkIntersectionRecord * | vectorIntersectionRecord = 0, |
||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
| virtual bool DtAttachedTerrain::closestIntersection | ( | const DtVector & | curPosition, |
| DtVector & | intersection, | ||
| bool | ignoreWater, | ||
| bool * | dataAvailable = 0, |
||
| bool | overrideBlockingAssert = false |
||
| ) | const [virtual] |
Returns true if a there is a terrain intersection at the given local position.
The algorithm checks for intersections along a chord in the direction of gravity at that location (from halfHeightOfChord above to halfHeightOfChord below localPosition). If ignoreWaterSurface is true, advances through list of intersection returned until first DtSurface that is not a water surface is found.
| virtual const DtVectorNetwork* DtAttachedTerrain::vectorNetwork | ( | ) | const [virtual] |
virtual DtVectorNetwork* vectorNetwork();
| bool DtAttachedTerrain::testInvariant | ( | ) | const [protected] |
| virtual double DtAttachedTerrain::setOriginToDatabase | ( | ) | [protected, virtual] |
Given the current entity, sets the geodetic origin in the terrain database to account for entity movement.
Returns the entities height above the terrain
| virtual const DtDcm& DtAttachedTerrain::rotateToDcm | ( | ) | const [protected, virtual] |
Creates a rotation Dcm based on current orientation.
| virtual const DtDcm& DtAttachedTerrain::rotateBackDcm | ( | ) | const [protected, virtual] |
| virtual DtVector DtAttachedTerrain::rotateTerrainLocation | ( | const DtVector & | source | ) | const [protected, virtual] |
Given the location, rotate it given the entity orientation.
| virtual DtChord DtAttachedTerrain::convertAndRotateChordToLocal | ( | const DtChord & | source | ) | const [protected, virtual] |
Converts the given chord from the simulation terrain database coordinate system into the current terrain database coordinate system.
| virtual DtPoint DtAttachedTerrain::convertLocalToSimTerrain | ( | const DtPoint & | , |
| double | addHeight = 0. |
||
| ) | const [protected, virtual] |
Takes the local coordinates and converts it back to the simulation terrain. Adds height if supplied.
| virtual void DtAttachedTerrain::convertLocalToSimTerrain | ( | DtChordIntersectionRecord & | , |
| double | addHeight = 0. |
||
| ) | const [protected, virtual] |
Converts both normal and intersection point.
Note that the normal does not get height added on
| void DtAttachedTerrain::setObjectName | ( | const DtString & | ) |
| const DtString DtAttachedTerrain::objectName | ( | ) | const |
| void DtAttachedTerrain::setObjectType | ( | const DtObjectType & | ) |
| const DtObjectType& DtAttachedTerrain::objectType | ( | ) | const |
| void DtAttachedTerrain::addRef | ( | ) |
| void DtAttachedTerrain::removeRef | ( | ) |
| int DtAttachedTerrain::referenceCount | ( | ) | const |
| void DtAttachedTerrain::setObjectGeometricModel | ( | const DtObjectGeometricModel * | newObjGeomModel | ) |
| const DtObjectGeometricModel* DtAttachedTerrain::objectGeometricModel | ( | ) | const |
| void DtAttachedTerrain::setEntity | ( | const DtVrfObject * | ) |
| const DtVrfObject* DtAttachedTerrain::entity | ( | ) | const |
| void DtAttachedTerrain::setPhysicalWorld | ( | DtPhysicalWorld * | newPhysicalWorld | ) |
| const DtPhysicalWorld* DtAttachedTerrain::physicalWorld | ( | ) | const |
| void DtAttachedTerrain::clear | ( | ) |
| virtual DtAttachedTerrain* DtAttachedTerrain::clone | ( | const DtString & | name, |
| DtReaderWriterRegistry *const | parentRegistry = 0 |
||
| ) | const [virtual] |
DtRwString DtAttachedTerrain::myObjectName [protected] |
DtRwObjectType DtAttachedTerrain::myObjectType [protected] |
int DtAttachedTerrain::myReferenceCount [protected] |
const DtObjectGeometricModel* DtAttachedTerrain::myObjectGeometricModel [protected] |
For now, this is the model that we get.
const DtVrfObject* DtAttachedTerrain::myEntity [protected] |
The entity this terrain represents.
If 0, should mean to represent global terrain
DtPhysicalWorld* DtAttachedTerrain::myPhysicalWorld [protected] |
For now,just use the global terrain database to return the coordinate system and perform the intersection calls.
DtTaitBryan DtAttachedTerrain::myLastEntityOrientation [mutable, protected] |
Last local orientation of the referenced entity.
If different, then recalculates orientation matrix when orientationMatrix() is called.
DtDcm DtAttachedTerrain::myRotateToDcm [mutable, protected] |
DtDcm DtAttachedTerrain::myRotateBackDcm [mutable, protected] |