VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
terrainCS
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
//
14
#include "
terrainCS/terrainCSDefines.h
"
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.
21
class
DT_DLL_terrainCS
DtGeodeticCS
:
public
Coordinate_System
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
35
DtGeodeticCS
&
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.
76
using
Coordinate_System::dis2local
;
77
using
Coordinate_System::local2dis
;
78
using
Coordinate_System::localToGeodetic
;
79
using
Coordinate_System::geodeticToLocal
;
80
};
81
82
#endif
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)