VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)