UNCLASSIFIED

GeographicTranslator
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
Datum.cpp
Go to the documentation of this file.
1 // CLASSIFICATION: UNCLASSIFIED
2 
3 
4 
5 /***************************************************************************/
6 /*
7  * INCLUDES
8  */
9 
10 #include <string.h>
11 #include "Datum.h"
12 
13 
14 using namespace MSP::CCS;
15 
16 
17 /************************************************************************/
18 /* FUNCTIONS
19  *
20  */
21 
23  _index( 0 ),
24  _datumType( DatumType::threeParamDatum ),
25  _deltaX( 0.0 ),
26  _deltaY( 0.0 ),
27  _deltaZ( 0.0 ),
28  _eastLongitude( 0.0 ),
29  _westLongitude( 0.0 ),
30  _northLatitude( 0.0 ),
31  _southLatitude( 0.0 ),
32  _code( 0 ),
33  _ellipsoidCode( 0 ),
34  _name( 0 ),
35  _userDefined( 0 )
36 {
37 }
38 
39 
41  long __index,
42  const char* __code,
43  const char* __ellipsoidCode,
44  const char* __name,
45  DatumType::Enum __datumType,
46  double __deltaX,
47  double __deltaY,
48  double __deltaZ,
49  double __westLongitude,
50  double __eastLongitude,
51  double __southLatitude,
52  double __northLatitude,
53  bool __userDefined ) :
54  _index( __index ),
55  _datumType( __datumType ),
56  _deltaX( __deltaX ),
57  _deltaY( __deltaY ),
58  _deltaZ( __deltaZ ),
59  _westLongitude( __westLongitude ),
60  _eastLongitude( __eastLongitude ),
61  _southLatitude( __southLatitude ),
62  _northLatitude( __northLatitude ),
63  _userDefined( __userDefined )
64  {
65  _code = new char[ strlen( __code ) + 1 ];
66  strcpy( _code, __code );
67 
68  _ellipsoidCode = new char[ strlen( __ellipsoidCode ) + 1 ];
69  strcpy( _ellipsoidCode, __ellipsoidCode );
70 
71  _name = new char[ strlen( __name ) + 1 ];
72  strcpy( _name, __name );
73 }
74 
75 
77 {
78  delete [] _code;
79  _code = 0;
80 
81  delete [] _ellipsoidCode;
82  _ellipsoidCode = 0;
83 
84  delete [] _name;
85  _name = 0;
86 }
87 
88 
89 long Datum::index() const
90 {
91  return _index;
92 }
93 
94 
95 char* Datum::code() const
96 {
97  return _code;
98 }
99 
100 
101 char* Datum::ellipsoidCode() const
102 {
103  return _ellipsoidCode;
104 }
105 
106 
107 char* Datum::name() const
108 {
109  return _name;
110 }
111 
112 
114 {
115  return _datumType;
116 }
117 
118 
119 double Datum::deltaX() const
120 {
121  return _deltaX;
122 }
123 
124 
125 double Datum::deltaY() const
126 {
127  return _deltaY;
128 }
129 
130 
131 double Datum::deltaZ() const
132 {
133  return _deltaZ;
134 }
135 
136 
137 double Datum::westLongitude() const
138 {
139  return _westLongitude;
140 }
141 
142 
143 double Datum::eastLongitude() const
144 {
145  return _eastLongitude;
146 }
147 
148 
149 double Datum::southLatitude() const
150 {
151  return _southLatitude;
152 }
153 
154 
155 double Datum::northLatitude() const
156 {
157  return _northLatitude;
158 }
159 
160 
161 bool Datum::userDefined() const
162 {
163  return _userDefined;
164 }
165 
166 
167 
168 // CLASSIFICATION: UNCLASSIFIED