- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# Y:/msp/devkits/temp_geotrans/master/geotrans3.1/CCS/src/dtcc/CoordinateTuples/MGRSorUSNGCoordinates.cpp

Go to the documentation of this file.

    00001 // CLASSIFICATION: UNCLASSIFIED
    00002
    00003 #include <string.h>
    00004 #include "MGRSorUSNGCoordinates.h"
    00005 #include "Precision.h"
    00006
    00007
    00008 using namespace MSP::CCS;
    00009
    00010
    00011 MGRSorUSNGCoordinates::MGRSorUSNGCoordinates() :
    00012   CoordinateTuple( CoordinateType::militaryGridReferenceSystem ),
    00013   _precision( Precision::tenthOfSecond )
    00014 {
    00015   strncpy( _MGRSString, "31NEA0000000000", 20 );
    00016 }
    00017
    00018
    00019 MGRSorUSNGCoordinates::MGRSorUSNGCoordinates( CoordinateType::Enum _coordinateType ) :
    00020   CoordinateTuple( _coordinateType ),
    00021   _precision( Precision::tenthOfSecond )
    00022 {
    00023   strncpy( _MGRSString, "31NEA0000000000", 20 );
    00024 }
    00025
    00026
    00027 MGRSorUSNGCoordinates::MGRSorUSNGCoordinates( CoordinateType::Enum _coordinateType, const char* __MGRSString ) :
    00028   CoordinateTuple( _coordinateType ),
    00029   _precision( Precision::tenthOfSecond )
    00030 {
    00031   strncpy( _MGRSString, __MGRSString, 20 );
    00032   _MGRSString[20] = '\0';
    00033 }
    00034
    00035
    00036 MGRSorUSNGCoordinates::MGRSorUSNGCoordinates( CoordinateType::Enum _coordinateType, const char* __MGRSString, Precision::Enum __precision ) :
    00037   CoordinateTuple( _coordinateType ),
    00038   _precision( __precision )
    00039 {
    00040   strncpy( _MGRSString, __MGRSString, 20 );
    00041   _MGRSString[20] = '\0';
    00042 }
    00043
    00044
    00045 MGRSorUSNGCoordinates::MGRSorUSNGCoordinates( CoordinateType::Enum _coordinateType, const char* __warningMessage, const char* __MGRSString, Precision::Enum __precision ) :
    00046   CoordinateTuple( _coordinateType ),
    00047   _precision( __precision )
    00048 {
    00049   strncpy( _MGRSString, __MGRSString, 20 );
    00050   _MGRSString[20] = '\0';
    00051
    00052   int length = strlen( __warningMessage );
    00053   strncpy( _warningMessage, __warningMessage, length );
    00054   _warningMessage[ length ] = '\0';
    00055 }
    00056
    00057
    00058 MGRSorUSNGCoordinates::MGRSorUSNGCoordinates( const MGRSorUSNGCoordinates &c )
    00059 {
    00060   _coordinateType = c._coordinateType;
    00061
    00062   strncpy( _MGRSString, c._MGRSString, 20 );
    00063   _MGRSString[20] = '\0';
    00064
    00065   _precision = c._precision;
    00066
    00067   int length = strlen( c._warningMessage );
    00068   strncpy( _warningMessage, c._warningMessage, length );
    00069   _warningMessage[ length ] = '\0';
    00070 }
    00071
    00072
    00073 MGRSorUSNGCoordinates::~MGRSorUSNGCoordinates()
    00074 {
    00075 }
    00076
    00077
    00078 MGRSorUSNGCoordinates& MGRSorUSNGCoordinates::operator=( const MGRSorUSNGCoordinates &c )
    00079 {
    00080   if( this != &c )
    00081   {
    00082     _coordinateType = c._coordinateType;
    00083
    00084     strncpy( _MGRSString, c._MGRSString, 20 );
    00085     _MGRSString[20] = '\0';
    00086
    00087     _precision = c._precision;
    00088
    00089     int length = strlen( c._warningMessage );
    00090     strncpy( _warningMessage, c._warningMessage, length );
    00091     _warningMessage[ length ] = '\0';
    00092   }
    00093
    00094   return *this;
    00095 }
    00096
    00097
    00098 void MGRSorUSNGCoordinates::set( char __MGRSString[21] )
    00099 {
    00100   strncpy( _MGRSString, __MGRSString, 20 );
    00101   _MGRSString[20] = '\0';
    00102 }
    00103
    00104
    00105 char* MGRSorUSNGCoordinates::MGRSString()
    00106 {
    00107   return _MGRSString;
    00108 }
    00109
    00110
    00111 Precision::Enum MGRSorUSNGCoordinates::precision() const
    00112 {
    00113   return _precision;
    00114 }
    00115
    00116 // CLASSIFICATION: UNCLASSIFIED