VR-Forces 4.0.4 Class Documentation
include/terrainqt/terrainCoordinateSystems.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2003 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: terrainCoordinateSystems.h,v $ $Revision: 1.12 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef terrainCoordinateSystems_H_
00013 #define terrainCoordinateSystems_H_
00014 
00015 #include "terrainqt/terrainqtDefines.h"
00016 #include "drawerNative/coordUtils.h"
00017 #include "drawerNative/convUtils.h"
00018 #include <matrix/vlTaitBryan.h>
00019 
00020 #include <matrix/vlVector.h>
00021 
00022 class Coordinate_System;
00023 class DtTerrainDatabase;
00024 
00025 class DT_DLL_terrainqt DtTerrainCoordinateSystem : public DtCoordinateSystem
00026 {
00027    Q_OBJECT
00028 
00029 public:
00030    DtTerrainCoordinateSystem(const DtUnitDisplayManager*);
00031 
00032 public:
00036    virtual QStringList convertPositionToStringList(const Coordinate_System* cs, const DtVector& geocPos) const = 0;
00037 
00041    virtual void convertToGeocentric(const DtStringLocation& in, const Coordinate_System* cs, DtVector& vector) const = 0;
00042 
00045    virtual void convertFromGeocentric(const Coordinate_System* cs,
00046       const DtVector& vector, DtStringLocation& out) const = 0;
00047 
00050    virtual double speed(const Coordinate_System* cs, const DtVector& location, const DtVector& velocity) const = 0;
00051 
00054    virtual DtVector velocity(const Coordinate_System* cs, const DtVector& location, const DtVector& velocity) const = 0;
00055 
00058    virtual DtVector acceleration(const Coordinate_System* cs, const DtVector& location, const DtVector& acl) const = 0;
00059 
00062    virtual DtVector rotationalVelocity(const Coordinate_System* cs, const DtVector& location, const DtVector& rtVel) const = 0;
00063 
00065    virtual DtTaitBryan localOrientationFor(const DtVector& location, const DtTaitBryan& geocOri) const = 0;
00066 
00068    virtual DtTaitBryan headingPitchRollFor(const DtVector& geocPos, const DtTaitBryan& geocOri) const = 0;
00069 
00072    virtual bool convertFrom(const DtCoordinateSystem* oldCS, const DtStringLocation& curLoc, DtStringLocation& newLoc) const;
00073 
00077    virtual QString formatSourceToDestination(double val, const QString& unitDisplay, const QString& source,
00078       const QString& destination) const;
00079 
00081    virtual QString formatDestinationToSource(double val, const QString& unitDisplay, const QString& source,
00082       const QString& destination) const;
00083 
00085    virtual QString formatSourceToDestination(const QString& val, const QString& unitDisplay, const QString& source,
00086       const QString& destination) const;
00087    virtual QString formatDestinationToSource(const QString& val, const QString& unitDisplay, const QString& source,
00088       const QString& destination) const;
00089 
00090 public:
00094    virtual QString locationLabelFor();
00095    virtual QString speedLabelFor();
00096    virtual QString velocityLabelFor();
00097    virtual QString accelerationLabelFor();
00098 
00099    const DtTerrainDatabase* terrainDatabase() const;
00100    void setTerrainDatabase(const DtTerrainDatabase*);
00101 
00102    virtual DtTaitBryan topoOrientationFor(const DtVector& geocPos, const DtTaitBryan& geocOri) const;
00103 
00104 protected:
00105    const DtTerrainDatabase* myTerrainDatabase;
00106 };
00107 
00108 inline void DtTerrainCoordinateSystem::setTerrainDatabase(const DtTerrainDatabase* db)
00109 {
00110    myTerrainDatabase = db;
00111 }
00112 
00113 inline const DtTerrainDatabase* DtTerrainCoordinateSystem::terrainDatabase() const
00114 {
00115    return myTerrainDatabase;
00116 }
00117 
00118 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)