00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <string.h>
00011 #include "Datum.h"
00012
00013
00014 using namespace MSP::CCS;
00015
00016
00017
00018
00019
00020
00021
00022 Datum::Datum() :
00023 _index( 0 ),
00024 _datumType( DatumType::threeParamDatum ),
00025 _deltaX( 0.0 ),
00026 _deltaY( 0.0 ),
00027 _deltaZ( 0.0 ),
00028 _eastLongitude( 0.0 ),
00029 _westLongitude( 0.0 ),
00030 _northLatitude( 0.0 ),
00031 _southLatitude( 0.0 ),
00032 _code( 0 ),
00033 _ellipsoidCode( 0 ),
00034 _name( 0 ),
00035 _userDefined( 0 )
00036 {
00037 }
00038
00039
00040 Datum::Datum( long __index, char* __code, char* __ellipsoidCode, char* __name, DatumType::Enum __datumType, double __deltaX, double __deltaY, double __deltaZ,
00041 double __westLongitude, double __eastLongitude, double __southLatitude, double __northLatitude, bool __userDefined ) :
00042 _index( __index ),
00043 _datumType( __datumType ),
00044 _deltaX( __deltaX ),
00045 _deltaY( __deltaY ),
00046 _deltaZ( __deltaZ ),
00047 _westLongitude( __westLongitude ),
00048 _eastLongitude( __eastLongitude ),
00049 _southLatitude( __southLatitude ),
00050 _northLatitude( __northLatitude ),
00051 _userDefined( __userDefined )
00052 {
00053 _code = new char[ strlen( __code ) + 1 ];
00054 strcpy( _code, __code );
00055
00056 _ellipsoidCode = new char[ strlen( __ellipsoidCode ) + 1 ];
00057 strcpy( _ellipsoidCode, __ellipsoidCode );
00058
00059 _name = new char[ strlen( __name ) + 1 ];
00060 strcpy( _name, __name );
00061 }
00062
00063
00064 Datum::~Datum()
00065 {
00066 delete [] _code;
00067 _code = 0;
00068
00069 delete [] _ellipsoidCode;
00070 _ellipsoidCode = 0;
00071
00072 delete [] _name;
00073 _name = 0;
00074 }
00075
00076
00077 long Datum::index() const
00078 {
00079 return _index;
00080 }
00081
00082
00083 char* Datum::code() const
00084 {
00085 return _code;
00086 }
00087
00088
00089 char* Datum::ellipsoidCode() const
00090 {
00091 return _ellipsoidCode;
00092 }
00093
00094
00095 char* Datum::name() const
00096 {
00097 return _name;
00098 }
00099
00100
00101 DatumType::Enum Datum::datumType() const
00102 {
00103 return _datumType;
00104 }
00105
00106
00107 double Datum::deltaX() const
00108 {
00109 return _deltaX;
00110 }
00111
00112
00113 double Datum::deltaY() const
00114 {
00115 return _deltaY;
00116 }
00117
00118
00119 double Datum::deltaZ() const
00120 {
00121 return _deltaZ;
00122 }
00123
00124
00125 double Datum::westLongitude() const
00126 {
00127 return _westLongitude;
00128 }
00129
00130
00131 double Datum::eastLongitude() const
00132 {
00133 return _eastLongitude;
00134 }
00135
00136
00137 double Datum::southLatitude() const
00138 {
00139 return _southLatitude;
00140 }
00141
00142
00143 double Datum::northLatitude() const
00144 {
00145 return _northLatitude;
00146 }
00147
00148
00149 bool Datum::userDefined() const
00150 {
00151 return _userDefined;
00152 }
00153
00154
00155
00156