VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
terrainCS
geodCrdSys.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 geodCrdSys_H_
9
#define geodCrdSys_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 Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)