VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
geodeticCS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: geodCrdSys.h,v $ $Revision: 1.13 $ $State: Exp $
7 *********************************************************************/
8 #ifndef geodeticCS_H_
9 #define geodeticCS_H_
10 
11 //
12 // \file geodCrdSys.h Contains the geodetic coordinate system class declaration.
13 //
15 #include "terrainCS/coordSystem.h"
16 
17 // class DtGeodeticCS:
18 //
19 // Instances of DtGeodeticCS are used by the terrain objects
20 // for performing coordinate conversions from geocentric to geodetic.
22 {
23 public:
24  // constructor
25  DtGeodeticCS(bool setUseDynamicSceneOrigin = false,
26  double dynamicSceneOriginDeadband = 0.0);
27 
28  // copy constructor
29  DtGeodeticCS(const DtGeodeticCS& orig);
30 
31  // destructor
32  virtual ~DtGeodeticCS();
33 
34  // assignment operator
36  const DtGeodeticCS& orig);
37 
38  // Clone operator
39  virtual Coordinate_System* clone() const;
40 
41  // coordinates in the local (i.e., projected) coordinate system only
42  // consist of X and Y, but we use a three element vector to store them so a
43  // programmer can use the Z value for height above terrain.
44  virtual void dis2local(const DtVector& in, DtVector& out) const;
45  virtual void local2dis(const DtVector& in, DtVector& out) const;
46 
47  // Returns the geodetic coordinate for a given local position. Local position
48  // must be specified with x-component as longitude (in radians), y-component
49  // as latitude (in radians), and z-component as altitude (in meters).
50  virtual void localToGeodetic(const DtVector& localPosition,
51  DtGeodeticCoord& geodeticPosition) const;
52 
53  // Returns the local coordinate for a given geodetic position. Returned local
54  // position x-component is longitude (in radians), y-component is latitude
55  // (in radians), and z-component is altitude (in meters).
56  virtual void geodeticToLocal(const DtGeodeticCoord& geodeticPosition,
57  DtVector& localPosition) const;
58 
59  // Returns a unit vector pointing downward (gravity) at a given
60  // location.
61  virtual DtVector down(const DtVector& location) const;
62 
63  // Returns a coordinate transformation object for going between
64  // topo and local coordinates, at a given location. It is up to the
65  // caller to ensure that topoToLocal and localToTopo are valid pointers.
66  virtual void topoToLocal(const DtVector& localPosition,
67  DtDcm& topoToLocal) const;
68  virtual void localToTopo(const DtVector& localPosition,
69  DtDcm& localToTopo) const;
70 
71  // Returns name of coordinate system
72  virtual DtString coordinateSystemName() const;
73 
74 private:
75  // These functions are not implemented for this class, so they are hidden.
80 };
81 
82 #endif
virtual void localToTopo(const DtVector &localPosition, DtDcm &localToTopo) const
Definition: coordSystem.h:54
Definition: geodeticCS.h:21
virtual void local2dis(const DtVector &in, DtVector &out) const
virtual void dis2local(const DtVector &in, DtVector &out) const
virtual void topoToLocal(const DtVector &localPosition, DtDcm &topoToLocal) const
Coordinate_System & operator=(const Coordinate_System &orig)
virtual void geodeticToLocal(const DtGeodeticCoord &geodeticPosition, DtVector &localPosition) const
virtual DtVector down(const DtVector &localPosition) const
virtual Coordinate_System * clone() const
virtual void localToGeodetic(const DtVector &localPosition, DtGeodeticCoord &geodeticPosition) const
virtual DtString coordinateSystemName() const
#define DT_DLL_terrainCS
Definition: terrainCSDefines.h:23

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)