UNCLASSIFIED

GeographicTranslator
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
Ellipsoid.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 "Ellipsoid.h"
12 
13 
14 using namespace MSP::CCS;
15 
16 
17 /************************************************************************/
18 /* FUNCTIONS
19  *
20  */
21 
23  _index( 0 ),
24  _semiMajorAxis( 6378137.0 ),
25  _semiMinorAxis( 6356752.3142 ),
26  _flattening( 1 / 298.257223563 ),
27  _eccentricitySquared( 0.0066943799901413800 ),
28  _userDefined( 0 ),
29  _code( 0 ),
30  _name( 0 )
31 
32 {
33 }
34 
35 
36 Ellipsoid::Ellipsoid( long __index, char* __code, char* __name, double __semiMajorAxis, double __semiMinorAxis, double __flattening, double __eccentricitySquared, bool __userDefined ) :
37  _index( __index ),
38  _semiMajorAxis( __semiMajorAxis ),
39  _semiMinorAxis( __semiMinorAxis ),
40  _flattening( __flattening ),
41  _eccentricitySquared( __eccentricitySquared ),
42  _userDefined( __userDefined )
43 {
44  _code = new char[ strlen( __code ) + 1 ];
45  strcpy( _code, __code );
46 
47  _name = new char[ strlen( __name ) + 1 ];
48  strcpy( _name, __name );
49 }
50 
51 
53 {
54  delete [] _code;
55  _code = 0;
56 
57  delete [] _name;
58  _name = 0;
59 }
60 
61 
62 long Ellipsoid::index() const
63 {
64  return _index;
65 }
66 
67 
68 char* Ellipsoid::code() const
69 {
70  return _code;
71 }
72 
73 
74 char* Ellipsoid::name() const
75 {
76  return _name;
77 }
78 
79 
81 {
82  return _semiMajorAxis;
83 }
84 
85 
87 {
88  return _semiMinorAxis;
89 }
90 
91 
92 double Ellipsoid::flattening() const
93 {
94  return _flattening;
95 }
96 
97 
99 {
100  return _eccentricitySquared;
101 }
102 
103 
105 {
106  return _userDefined;
107 }
108 
109 // CLASSIFICATION: UNCLASSIFIED