![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2003 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: databaseCoordinateSystem.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef databaseCoordinateSystem_H_ 00013 #define databaseCoordinateSystem_H_ 00014 00015 #include "terrainqt/terrainCoordinateSystems.h" 00016 00017 #include "terrainqt/geodeticCoordinateSystem.h" 00018 #include "terrainqt/geodeticCoordinateSystem.h" 00019 #include "terrainqt/utmCoordinateSystem.h" 00020 00023 00024 #include "terrainqt/terrainqtDefines.h" 00025 class DT_DLL_terrainqt DtDatabaseCoordinateSystem : public DtTerrainCoordinateSystem 00026 { 00027 Q_OBJECT 00028 00029 public: 00030 DtDatabaseCoordinateSystem(const DtUnitDisplayManager*); 00031 virtual ~DtDatabaseCoordinateSystem(); 00032 00033 virtual QString name(); 00034 virtual QString xLabelFor() const; 00035 virtual QString yLabelFor() const; 00036 virtual QString zLabelFor() const; 00037 virtual QStringList convertPositionToStringList(const Coordinate_System* cs, const DtVector& geocPos) const; 00038 00039 virtual DtGridLineChoiceMap gridLineChoices(const QString& units) const; 00040 00044 virtual void convertToGeocentric(const DtStringLocation& in, const Coordinate_System* cs, DtVector& vector) const; 00045 00048 virtual void convertFromGeocentric(const Coordinate_System* cs, 00049 const DtVector& vector, DtStringLocation& out) const; 00050 00052 virtual double speed(const Coordinate_System* cs, const DtVector& location, const DtVector& velocity) const; 00053 00055 virtual DtVector velocity(const Coordinate_System* cs, const DtVector& location, const DtVector& velocity) const; 00056 00058 virtual DtVector acceleration(const Coordinate_System* cs, const DtVector& location, const DtVector& acl) const; 00059 00061 virtual DtVector rotationalVelocity(const Coordinate_System* cs, const DtVector& location, const DtVector& rtVel) const; 00062 00064 virtual DtTaitBryan localOrientationFor(const DtVector& location, const DtTaitBryan& geocOri) const; 00065 virtual DtTaitBryan headingPitchRollFor(const DtVector& location, const DtTaitBryan& geocOri) const; 00066 00067 virtual QString formatSourceToDestination(const QString& val, const QString& unitDisplay, const QString& source, 00068 const QString& destination) const; 00069 00070 virtual QString formatDestinationToSource(const QString& val, const QString& unitDisplay, const QString& source, 00071 const QString& destination) const; 00072 00073 virtual QString locationLabelFor(); 00074 00075 virtual int precisionLowerBound() const; 00076 00077 protected: 00078 virtual void geocentricVectorToLocalVector(const DtVector &geocentricPosition, 00079 const DtVector& geocentricVector, const Coordinate_System& coordinateSystemRef, 00080 DtVector& localVector) const; 00081 virtual DtTaitBryan orientationFor(const DtVector& location, const DtTaitBryan& geocOri, bool local = true) const; 00082 00083 protected: 00084 DtUtmCoordinateSystem myUtmCoordinateSystem; 00085 DtGeodeticCoordinateSystemDMS myGeodeticCoordinateSystem; 00086 Coordinate_System* myDefaultCoordinateSystem; 00087 }; 00088 00089 #endif