[mapguide-commits] r9668 - in sandbox/jng/catch2: Common/Foundation Common/Foundation/Data Common/Geometry Common/PlatformBase Common/PlatformBase/Services Server/src/UnitTesting

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Jul 15 05:07:01 PDT 2020


Author: jng
Date: 2020-07-15 05:07:01 -0700 (Wed, 15 Jul 2020)
New Revision: 9668

Added:
   sandbox/jng/catch2/Common/Foundation/Data/LinuxNumericalConstants.cpp
   sandbox/jng/catch2/Common/Geometry/LinuxNumericalConstants.cpp
   sandbox/jng/catch2/Common/PlatformBase/LinuxNumericalConstants.cpp
Removed:
   sandbox/jng/catch2/Common/PlatformBase/Services/OrderingOption.cpp
Modified:
   sandbox/jng/catch2/Common/Foundation/FoundationBuild.cpp
   sandbox/jng/catch2/Common/Geometry/GeometricEntityType.h
   sandbox/jng/catch2/Common/Geometry/GeometryBuild.cpp
   sandbox/jng/catch2/Common/PlatformBase/PlatformBaseBuild.cpp
   sandbox/jng/catch2/Server/src/UnitTesting/CMakeLists.txt
Log:
Either this slipped under our radar or the move to catch2 has caused libMgUnitTesting.so to not load via dlopen() due to various static int constants in the MapGuide API being unresolved symbols. This commit adds Linux-specific TUs to define such constants. With this change, libMgUnitTesting.so will load via dlopen()

Added: sandbox/jng/catch2/Common/Foundation/Data/LinuxNumericalConstants.cpp
===================================================================
--- sandbox/jng/catch2/Common/Foundation/Data/LinuxNumericalConstants.cpp	                        (rev 0)
+++ sandbox/jng/catch2/Common/Foundation/Data/LinuxNumericalConstants.cpp	2020-07-15 12:07:01 UTC (rev 9668)
@@ -0,0 +1,45 @@
+//
+//  Copyright (C) 2004-2011 by Autodesk, Inc.
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of version 2.1 of the GNU Lesser
+//  General Public License as published by the Free Software Foundation.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+// Linux-specific TU to ensure static int constants are defined as actual symbols
+// in the final library
+
+#include "FeaturePropertyType.h"
+#include "PropertyType.h"
+
+const int MgFeaturePropertyType::DataProperty;
+const int MgFeaturePropertyType::ObjectProperty;
+const int MgFeaturePropertyType::GeometricProperty;
+const int MgFeaturePropertyType::AssociationProperty;
+const int MgFeaturePropertyType::RasterProperty;
+
+const int MgPropertyType::Null;
+const int MgPropertyType::Boolean;
+const int MgPropertyType::Byte;
+const int MgPropertyType::DateTime;
+const int MgPropertyType::Single;
+const int MgPropertyType::Double;
+const int MgPropertyType::Int16;
+const int MgPropertyType::Int32;
+const int MgPropertyType::Int64;
+const int MgPropertyType::String;
+const int MgPropertyType::Blob;
+const int MgPropertyType::Clob;
+const int MgPropertyType::Feature;
+const int MgPropertyType::Geometry;
+const int MgPropertyType::Raster;
+const int MgPropertyType::Decimal;
\ No newline at end of file

Modified: sandbox/jng/catch2/Common/Foundation/FoundationBuild.cpp
===================================================================
--- sandbox/jng/catch2/Common/Foundation/FoundationBuild.cpp	2020-07-15 12:01:56 UTC (rev 9667)
+++ sandbox/jng/catch2/Common/Foundation/FoundationBuild.cpp	2020-07-15 12:07:01 UTC (rev 9668)
@@ -33,6 +33,9 @@
 #include "Data/PropertyDefinition.cpp"
 #include "Data/StringCollection.cpp"
 #include "Data/StringProperty.cpp"
+#ifndef _WIN32
+#include "Data/LinuxNumericalConstants.cpp"
+#endif
 
 #include "Exception/ApplicationException.cpp"
 #include "Exception/ArgumentOutOfRangeException.cpp"

Modified: sandbox/jng/catch2/Common/Geometry/GeometricEntityType.h
===================================================================
--- sandbox/jng/catch2/Common/Geometry/GeometricEntityType.h	2020-07-15 12:01:56 UTC (rev 9667)
+++ sandbox/jng/catch2/Common/Geometry/GeometricEntityType.h	2020-07-15 12:07:01 UTC (rev 9668)
@@ -23,7 +23,7 @@
 /// \brief
 /// MgGeometryEntityType defines two integer constants which
 /// signify whether an MgGeometricEntity is a geometry or a
-/// geometry ciomponent.
+/// geometry component.
 ///
 class MgGeometryEntityType
 {

Modified: sandbox/jng/catch2/Common/Geometry/GeometryBuild.cpp
===================================================================
--- sandbox/jng/catch2/Common/Geometry/GeometryBuild.cpp	2020-07-15 12:01:56 UTC (rev 9667)
+++ sandbox/jng/catch2/Common/Geometry/GeometryBuild.cpp	2020-07-15 12:07:01 UTC (rev 9668)
@@ -111,6 +111,7 @@
     #include "Parse/yyAwkt.cpp"
 #else
     #include "Parse/yyAwkt_linux.cpp"
+    #include "LinuxNumericalConstants.cpp"
 #endif
 
 #include "Spatial/MathUtility.cpp"

Added: sandbox/jng/catch2/Common/Geometry/LinuxNumericalConstants.cpp
===================================================================
--- sandbox/jng/catch2/Common/Geometry/LinuxNumericalConstants.cpp	                        (rev 0)
+++ sandbox/jng/catch2/Common/Geometry/LinuxNumericalConstants.cpp	2020-07-15 12:07:01 UTC (rev 9668)
@@ -0,0 +1,2263 @@
+//
+//  Copyright (C) 2004-2011 by Autodesk, Inc.
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of version 2.1 of the GNU Lesser
+//  General Public License as published by the Free Software Foundation.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+// Linux-specific TU to ensure static int constants are defined as actual symbols
+// in the final library
+
+#include "CoordinateSystem/CoordinateSystemCodeFormat.h"
+#include "CoordinateSystem/CoordinateSystemErrorCode.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformationMethod.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticDirection.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformationMethod.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticTransformationMethod.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticTransformGridFileFormat.h"
+#include "CoordinateSystem/CoordinateSystemGridOrientation.h"
+#include "CoordinateSystem/CoordinateSystemGridSpecializationType.h"
+#include "CoordinateSystem/CoordinateSystemMgrsGridLevel.h"
+#include "CoordinateSystem/CoordinateSystemMgrsGridSquarePosition.h"
+#include "CoordinateSystem/CoordinateSystemMgrsLetteringScheme.h"
+#include "CoordinateSystem/CoordinateSystemProjectionCode.h"
+#include "CoordinateSystem/CoordinateSystemProjectionFormatType.h"
+#include "CoordinateSystem/CoordinateSystemProjectionLogicalType.h"
+#include "CoordinateSystem/CoordinateSystemProjectionParameterType.h"
+#include "CoordinateSystem/CoordinateSystemType.h"
+#include "CoordinateSystem/CoordinateSystemUnitCode.h"
+#include "CoordinateSystem/CoordinateSystemUnitType.h"
+
+#include "GeometricEntityType.h"
+#include "GeometryComponentType.h"
+#include "GeometrySimplificationAlgorithmType.h"
+#include "GeometryType.h"
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Mentor/CS-Map flavor
+///
+const INT32 MgCoordinateSystemCodeFormat::Mentor;
+///////////////////////////////////////////////////////////////
+/// \brief
+/// EPSG flavor
+///
+const INT32 MgCoordinateSystemCodeFormat::Epsg;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Y axis azimuth specification is invalid.
+///
+const INT32 MgCoordinateSystemErrorCode::AZM;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Great circle azimuth value is invalid.
+///
+const INT32 MgCoordinateSystemErrorCode::AZMTH;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid latitude detected in definition.
+///
+const INT32 MgCoordinateSystemErrorCode::LAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Latitudes of defining points are equal.
+///
+const INT32 MgCoordinateSystemErrorCode::LATEQU;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid longitude detected in definition.
+///
+const INT32 MgCoordinateSystemErrorCode::LNG;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// First defining point may not be on the equator.
+///
+const INT32 MgCoordinateSystemErrorCode::LNGEQU;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid map scale value detected.
+///
+const INT32 MgCoordinateSystemErrorCode::MAPSCL;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard meridians are the same.
+///
+const INT32 MgCoordinateSystemErrorCode::MEREQU;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Defining great circle is a parallel, try Mercator.
+///
+const INT32 MgCoordinateSystemErrorCode::MRCAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid coefficient value specified.
+///
+const INT32 MgCoordinateSystemErrorCode::MSCOEF;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// System must be referenced to a datum or an ellipsoid.
+///
+const INT32 MgCoordinateSystemErrorCode::NOREF;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard paralells are not ordered correctly.
+///
+const INT32 MgCoordinateSystemErrorCode::NOTNRTH;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallells are not ordered correctly.
+///
+const INT32 MgCoordinateSystemErrorCode::NRTHLAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Point defining Y axis direction incorrectly specified.
+///
+const INT32 MgCoordinateSystemErrorCode::NRTHPNT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid latitude value given for projection origin.
+///
+const INT32 MgCoordinateSystemErrorCode::ORGLAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid longitude value given for projection origin.
+///
+const INT32 MgCoordinateSystemErrorCode::ORGLNG;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallel location exceeds 90 degrees.
+///
+const INT32 MgCoordinateSystemErrorCode::PLL90;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallel locations are the same.
+///
+const INT32 MgCoordinateSystemErrorCode::PLLEQU;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallel locations not inbetween poles.
+///
+const INT32 MgCoordinateSystemErrorCode::PLLLRG;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Order of standard parallels incorrect.
+///
+const INT32 MgCoordinateSystemErrorCode::PLLREV;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallel location is zero.
+///
+const INT32 MgCoordinateSystemErrorCode::PLLZERO;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Poles are too far apart.
+///
+const INT32 MgCoordinateSystemErrorCode::POLDD;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Poles are not sufficiently separated.
+///
+const INT32 MgCoordinateSystemErrorCode::POLDUP;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Latitude of pole incorrectly specified.
+///
+const INT32 MgCoordinateSystemErrorCode::POLLAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Longitude of pole incorrectly specified.
+///
+const INT32 MgCoordinateSystemErrorCode::POLLNG;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid quad specification detected.
+///
+const INT32 MgCoordinateSystemErrorCode::QUAD;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid scale reduction value encountered.
+///
+const INT32 MgCoordinateSystemErrorCode::SCLRED;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallels are not ordered correctly.
+///
+const INT32 MgCoordinateSystemErrorCode::SOTHLAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallel is incorrectly specified.
+///
+const INT32 MgCoordinateSystemErrorCode::STDLAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard meridian specification is invalid.
+///
+const INT32 MgCoordinateSystemErrorCode::STDLNG;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallel specifications are invalid.
+///
+const INT32 MgCoordinateSystemErrorCode::STDPLL;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Southern parallel is equal to or north of northern.
+///
+const INT32 MgCoordinateSystemErrorCode::STDSOU;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard meridian must be east of the central meridian.
+///
+const INT32 MgCoordinateSystemErrorCode::STDWEST;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid unit specification detected.
+///
+const INT32 MgCoordinateSystemErrorCode::UNIT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid projection key name detected.
+///
+const INT32 MgCoordinateSystemErrorCode::INVPRJ;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid datum name specification detected.
+///
+const INT32 MgCoordinateSystemErrorCode::INVDTM;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid ellipsoid name specification detected.
+///
+const INT32 MgCoordinateSystemErrorCode::INVELP;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Longitude range is too small.
+///
+const INT32 MgCoordinateSystemErrorCode::LLRNG;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Longitude range values out of order.
+///
+const INT32 MgCoordinateSystemErrorCode::RNGORD;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid quadrant specification given.
+///
+const INT32 MgCoordinateSystemErrorCode::INVQUAD;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid invalid geographic useful range detected.
+///
+const INT32 MgCoordinateSystemErrorCode::GEOMM;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid invalid cartesian useful range detected.
+///
+const INT32 MgCoordinateSystemErrorCode::CRTMM;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard parallels must be equidistant from poles.
+///
+const INT32 MgCoordinateSystemErrorCode::PLLED;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Origin latitude is not polar; use oblique form of projection.
+///
+const INT32 MgCoordinateSystemErrorCode::PLRLAT;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Origin latitude is polar; use polar form of projection.
+///
+const INT32 MgCoordinateSystemErrorCode::USEPLR;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid value given for UTM zone number.
+///
+const INT32 MgCoordinateSystemErrorCode::UTMZON;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid hemisphere specification (+1 = north, -1 = south).
+///
+const INT32 MgCoordinateSystemErrorCode::HMISPHR;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Central azimuth is 90, use the Swiss Oblique Mercator.
+///
+const INT32 MgCoordinateSystemErrorCode::USESW;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Eastern meridian is more than 15 degrees from the central meridian.
+///
+const INT32 MgCoordinateSystemErrorCode::MAX15;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid oblique pole specification.
+///
+const INT32 MgCoordinateSystemErrorCode::OBLQPOLE;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Denominator of affine is zero.
+///
+const INT32 MgCoordinateSystemErrorCode::AFFZERO;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Non-earth system referenced to a datum.
+///
+const INT32 MgCoordinateSystemErrorCode::NRDATUM;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// OSTN97.TXT grid shift file could not be located or opened with read access.
+///
+const INT32 MgCoordinateSystemErrorCode::OSTN97;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Invalid region code specified for Danish System 34/45 (1=J, 2=S, 3=B).
+///
+const INT32 MgCoordinateSystemErrorCode::DENRGN;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Value supplied for elevated ellipsoid is outside acceptable range
+///
+const INT32 MgCoordinateSystemErrorCode::ELEVEL;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// OSTN02.TXT grid shift file could not be located or opened with read access.
+///
+const INT32 MgCoordinateSystemErrorCode::OSTN02;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Transverse Mercator Kruger formulation requested with non-zero origin latitude.
+///
+const INT32 MgCoordinateSystemErrorCode::TMKRG0;    
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The operation succeeded
+///
+const INT32 MgCoordinateSystemErrorCode::Ok;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The operation ran out of memory
+///
+const INT32 MgCoordinateSystemErrorCode::OutOfMemory;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An initialization operation failed 
+///
+const INT32 MgCoordinateSystemErrorCode::InitializationFailed;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// A conversion operation failed
+///
+const INT32 MgCoordinateSystemErrorCode::ConversionFailed;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An argument supplied to an operation was null
+///
+const INT32 MgCoordinateSystemErrorCode::NullArgument;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An argument supplied to an operation was invalid
+///
+const INT32 MgCoordinateSystemErrorCode::InvalidArgument;
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// None
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::None;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Three Parameter
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::ThreeParameter;     //cs_DTCMTH_3PARM
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Molodensky
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::Molodensky;     //cs_DTCMTH_MOLOD
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Abridged Molodensky
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::AbridgedMolodensky;     //cs_DTCMTH_AMOLO
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Geocentric
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::Geocentric;     //cs_DTCMTH_GEOCT
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Four Parameter
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::FourParameter;     //cs_DTCMTH_4PARM
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Six Parameter
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::SixParameter;     //cs_DTCMTH_6PARM
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Bursa
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::Bursa;     //cs_DTCMTH_BURSA
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Frame
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::Frame;     //cs_DTCMTH_FRAME
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Seven Parameter
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::SevenParameter;     //cs_DTCMTH_7PARM
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Molodensky Badekas
+///
+const INT32 MgCoordinateSystemGeodeticAnalyticalTransformationMethod::MolodenskyBadekas;     //cs_DTCMTH_BDKAS
+
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Direction not been specified.  This appears when the
+/// direction member has not bee set, or in the case where
+/// direction is not applicable, such as when the
+/// is the null transformation.
+const INT32 MgCoordinateSystemGeodeticDirection::GeodeticDirectionNone;
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Forward direction, the calculation the geodetic
+/// transformation definitions natural calculation.
+/// I.e. conversion from the definition's "source" datum to the
+/// "target" datum.
+const INT32 MgCoordinateSystemGeodeticDirection::GeodeticDirectionForward;
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Inverse direction, i.e. conversion from the definition's
+/// "target" datum to the "source" datum.  Often inmplies an
+/// iterative technique using the forward technique as the
+/// estimator.
+const INT32 MgCoordinateSystemGeodeticDirection::GeodeticDirectionInverse;
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Use this value to indicate an error condition of some sort;
+/// especially useful when this type is the return value of a
+/// function.
+const INT32 MgCoordinateSystemGeodeticDirection::GeodeticDirectionError;
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+///  None 
+///
+const INT32 MgCoordinateSystemGeodeticMultipleRegressionTransformationMethod::None;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+///  Multiple Regression
+///
+const INT32 MgCoordinateSystemGeodeticMultipleRegressionTransformationMethod::MultipleRegression; //cs_DTCMTH_MULRG
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+///  General Polynomial EPSG 
+///
+const INT32 MgCoordinateSystemGeodeticMultipleRegressionTransformationMethod::GeneralPolynomialEpsg; //cs_DTCMTH_PLYNM
+
+
+////////////////////////////////////////////////////////////////
+/// \brief
+/// Default constant available for programming convenience only. No specific
+/// geodetic transformation can be created from this constant.
+const INT32 MgCoordinateSystemGeodeticStandaloneTransformationMethod::None;
+
+////////////////////////////////////////////////////////////////
+/// \brief
+/// Describes a geodetic transformation that is actually a NOOP, i.e.
+/// the 2 datums to be transformed between are considered equal.
+const INT32 MgCoordinateSystemGeodeticStandaloneTransformationMethod::NullX; //cs_DTCMTH_NULLX
+
+////////////////////////////////////////////////////////////////
+/// \brief
+/// Describes the WGS72 to WGS84 geodetic transformation as published by the DMA (DMA TR 8350.2-B).
+/// All required parameters are known and built-in.
+const INT32 MgCoordinateSystemGeodeticStandaloneTransformationMethod::Wgs72; //cs_DTCMTH_WGS72
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// None
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::None;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Use the Molodensky transformation to convert to WGS84
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::Molodensky;      
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Use the Multiple Regression Transformation formulas.
+/// If such a definition is not available, default to the
+/// Bursa/Wolfe Seven Parameter Transformation.
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::MReg;            
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Use the Bursa/Wolfe to convert to WGS84, default to
+/// Molodensky if the necessary parameters are not present.
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::Bursa;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Use the NADCON or Canadian National Transformation
+/// emulation as appropriate to convert to NAD83, and
+/// consider the result to be WGS84 coordinates.
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::NAD27;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Consider the coordinates to be WGS84 coordinates already, no shift is to be performed.
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::NAD83;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The coordinates are WGS84 coordinates already, no datum shift is required
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::WGS84;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Use an internal formula to convert to WGS84
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::WGS72;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Use the NADCOM algorithm, but use the HPGN data
+/// files, to shift the coordinates to NAD83, then
+/// consider the result to be WGS84 coordinates
+/// without any further datum shift
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::HPGN;            
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Seven Parameter Transformation
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::SevenParameter;  
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// AGD66<->GDA94 via Grid Files
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::AGD66;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Three Parameter Transformation - Obsolete technique that is kept around for backward compatibility
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::ThreeParameter; 
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Six Parameter Transformation
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::SixParameter;   
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Four Parameter Transformation
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::FourParameter;  
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// AGD84<->GDA94 via Grid Files
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::AGD84;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// NZGD49<->NZGD2K via Grid File
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::NZGD49;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// ATS77<->NAD83 via Grid Files
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::ATS77;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Is GDA94, no shift required.
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::GDA94;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Is NZGD2000, no shift required.
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::NZGD2K;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// NAD83<->CSRS Via Grid Files.
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::CSRS;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// TOKYO<->JGD2k via Grid Files
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::TOKYO;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// NTF<->RGF93 via Grid File
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::RGF93;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// ED50 <--> ETRF89 via Grid Files
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::ED50;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// DHDN<->ETRF89 via Grid Files
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::DHDN;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Is ETRF89, no shift required
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::ETRF89;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Local Geodetic Reference System
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::Lclgrf;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Geocentric Translation
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::Geocentric;     
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Swiss Ch1903 to CH1903+
+///
+const INT32 MgCoordinateSystemGeodeticTransformationMethod::CHENYX;
+
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Default 0 constant available for programming convenience only. It does not
+/// describe a specific geodetic transformation type.
+const INT32 MgCoordinateSystemGeodeticTransformDefType::None;
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// The transformation definition describes a built-in transformation. That is, that
+/// transformation is well-known and cannot be parameterized because
+/// the information is available to the transformation engine.
+const INT32 MgCoordinateSystemGeodeticTransformDefType::Standalone;
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// The transformation definition describes an analytical transformation where
+/// the transformation between the source and the target datum is defined
+/// through a formular that's fed with up to 10 parameters.
+const INT32 MgCoordinateSystemGeodeticTransformDefType::Analytical;
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// The transformation definition describes a transformation that
+/// uses grid files to calculate the actual datum shift for a given
+/// coordinate by interpolating between given grid points.
+const INT32 MgCoordinateSystemGeodeticTransformDefType::Interpolation;
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// The transformation definition describes a transformation that
+/// uses a multiple regression calculation to perform the actual datum shift.
+const INT32 MgCoordinateSystemGeodeticTransformDefType::MultipleRegression;
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// None
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::None;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// NTv1
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::NTv1;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// NTv2
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::NTv2;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// NADCON
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::NADCON;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// RGF
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::RGF;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// PAR
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::PAR;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// ATS77
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::ATS77;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// GEOCON
+///
+const INT32 MgCoordinateSystemGeodeticTransformGridFileFormat::GEOCON;
+
+
+///////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Not specified yet, initialize to this value.
+const INT8 MgCoordinateSystemGridOrientation::None;
+///////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The object represents a constant easting value.
+const INT8 MgCoordinateSystemGridOrientation::EastWest;         // generally indicates a vertical grid line
+///////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The object represents a constant northing value.
+const INT8 MgCoordinateSystemGridOrientation::NorthSouth;       // generally indicates a horizontal grid line
+///////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Indicates the failure of an algorithm or other problem.
+const INT8 MgCoordinateSystemGridOrientation::Unknown;          // indicates a failure of an algorithm
+
+
+
+///////////////////////////////////////////////////////////////////////////
+/// \brief 
+/// Not specified yet, initialize to this value.
+///
+const INT32 MgCoordinateSystemGridSpecializationType::None;
+///////////////////////////////////////////////////////////////////////////
+/// \brief 
+/// Generic grid of a specified coordinate system; may be
+/// geographic or projected.
+///
+const INT32 MgCoordinateSystemGridSpecializationType::Generic;           // Generic grid of a specified coordinate system;
+                                                    // may be geographic or projected
+///////////////////////////////////////////////////////////////////////////
+/// \brief 
+/// Specialized grid: MGRS (Military Grid Reference System)
+///
+const INT32 MgCoordinateSystemGridSpecializationType::MGRS;
+///////////////////////////////////////////////////////////////////////////
+/// \brief 
+/// Specialized grid: USNG (United States National Grid)
+///
+const INT32 MgCoordinateSystemGridSpecializationType::USNG;
+///////////////////////////////////////////////////////////////////////////
+/// \brief 
+/// Indicates the failure of an algorithm or other problem.
+///
+const INT32 MgCoordinateSystemGridSpecializationType::Unknown;
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// None
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::MgrsNone;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// UTM
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::MgrsUtm;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// UPS
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::MgrsUps;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// 100km
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::Mgrs100Km;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// 10km
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::Mgrs10Km;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// 1km
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::Mgrs1Km;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// 100m
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::Mgrs100m;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// 10m
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::Mgrs10m;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// 1m
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::Mgrs1m;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Unknown 
+///
+const INT32 MgCoordinateSystemMgrsGridLevel::MgrsUnknown;
+
+
+///////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies the grid square position is not set as yet.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::None;
+/// \brief
+/// Specifies the center of the grid square; the default previous to this
+/// revision (Dec 2009).
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::Center;
+/// \brief
+/// Specifies the southwest corner of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::SouthWest;
+/// \brief
+/// Specifies the midpoint of the western edge of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::West;
+/// \brief
+/// Specifies the northwest corner of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::NorthWest;
+/// \brief
+/// Specifies the midpoint of the northern edge of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::North;
+/// \brief
+/// Specifies the southwest corner of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::NorthEast;
+/// \brief
+/// Specifies the midpoint of the eastern edge of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::East;
+/// \brief
+/// Specifies the southeast corner of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::SouthEast;
+/// \brief
+/// Specifies the midpoint of the southern edge of the MGRS grid square.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::South;
+/// \brief
+/// Specifies an error return value, end of table, or other abnormal situation.
+///
+const INT32 MgCoordinateSystemMgrsGridSquarePosition::Unknown;
+
+
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Normal
+///
+const INT8 MgCoordinateSystemMgrsLetteringScheme::Normal;
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Alternative
+///
+const INT8 MgCoordinateSystemMgrsLetteringScheme::Alternative;
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Albers Equal Area Conic Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Alber;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Azimuthal Equi-Distant; Elevated ellipsoid.
+///
+const INT32 MgCoordinateSystemProjectionCode::Azede;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lambert Azimuthal Equal Area Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Azmea;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lambert Azimuthal Equidistant Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Azmed;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Bipolar Oblique Conformal Conic Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Bipolar;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Bonne Pseudoconical Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Bonne;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Cassini Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Cassini;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Ekert Pseudocylindrical Projection; Number IV
+///
+const INT32 MgCoordinateSystemProjectionCode::Eckert4;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Ekert Pseudocylindrical Projection; Number VI
+///
+const INT32 MgCoordinateSystemProjectionCode::Eckert6;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Equidistant Conic Projection; aka Simple Conic
+///
+const INT32 MgCoordinateSystemProjectionCode::Edcnc;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Equidistant Cylindrical Projection (Spherical only)
+///
+const INT32 MgCoordinateSystemProjectionCode::Edcyl;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Gauss-Kruger: Transverse Mercator without scale reduction parameter.
+///
+const INT32 MgCoordinateSystemProjectionCode::GaussK;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Gnomonic Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Gnomonic;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Goode Homolosine Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Goode;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Unrectified Hotine Oblique Mercator Projection; Sngl Point Form
+///
+const INT32 MgCoordinateSystemProjectionCode::Hom1uv;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Rectified Hotine Oblique Mercator Projection; Single Point Form
+///
+const INT32 MgCoordinateSystemProjectionCode::Hom1xy;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Unrectified Hotine Oblique Mercator Projection; Two Point Form
+///
+const INT32 MgCoordinateSystemProjectionCode::Hom2uv;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Rectified Hotine Oblique Mercator Projection; Two Point Form
+///
+const INT32 MgCoordinateSystemProjectionCode::Hom2xy;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Czech Krovak; original.
+///
+const INT32 MgCoordinateSystemProjectionCode::Krovak;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Czech Krovak; includes 1995 adjustment.
+///
+const INT32 MgCoordinateSystemProjectionCode::Krvk95;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Null Projection; produces/processes Latitude and Longitude
+///
+const INT32 MgCoordinateSystemProjectionCode::LL;              
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Single standard parallel variation of the Lambert Conformal Conic.
+///
+const INT32 MgCoordinateSystemProjectionCode::Lm1sp;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Double standard parallel variation of the Lambert Conformal Conic.
+///
+const INT32 MgCoordinateSystemProjectionCode::Lm2sp;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Belgian variation of the Lambert Conformal Conic Projection.
+///
+const INT32 MgCoordinateSystemProjectionCode::Lmblg;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lambert Tangential Conformal Conic Projection 
+///
+const INT32 MgCoordinateSystemProjectionCode::Lmtan;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Miller Cylindrical Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Miller;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Minnesota DOT variation of the Lambert Conformal Conic.
+///
+const INT32 MgCoordinateSystemProjectionCode::Mndotl;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Minnesota DOT variation of the Transverse Mercator projection.
+///
+const INT32 MgCoordinateSystemProjectionCode::Mndott;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lallemand IMW Modified Polyconic Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Modpc;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Mollweide Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Mollweid;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Mercator Cylindrical Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Mrcat;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard Mercator with a scale reduction factor instead of a standard parallel.
+///
+const INT32 MgCoordinateSystemProjectionCode::MrcatK;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Modified Sterographic Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Mstero;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Normal Aspect; Equal Area Cylindrical Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Neacyl;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Non-georeferenced coordinate system.  Named Non-Earth by Map Info.
+///
+const INT32 MgCoordinateSystemProjectionCode::Nerth;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// New Zealand National Grid
+///
+const INT32 MgCoordinateSystemProjectionCode::Nzealand;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Oblique Mercator (obsolete)
+///
+const INT32 MgCoordinateSystemProjectionCode::OblqM;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Oblique Cylindrical; a generalized version of the Swiss projection; specifically for Hungary
+///
+const INT32 MgCoordinateSystemProjectionCode::Obqcyl;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Orthographic Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Ortho;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The Transverse Mercator with specific parameters; with the OSTN02 grid shift tacked on.  This is a combination of a projection and a datum shift 
+///
+const INT32 MgCoordinateSystemProjectionCode::Ostn02;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The Transverse Mercator with specific parameters; with the OSTN97 grid shoft tacked on.  This is a combination of a projection and a datum shift
+///
+const INT32 MgCoordinateSystemProjectionCode::Ostn97;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Oblique Sterographic
+///
+const INT32 MgCoordinateSystemProjectionCode::Ostro;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Hassler American Polyconic Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Plycn;           
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Polar sterographic
+///
+const INT32 MgCoordinateSystemProjectionCode::Pstro;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Polar sterographic with standard latitude
+///
+const INT32 MgCoordinateSystemProjectionCode::Pstrosl;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// cs_PRJCOD_RSKEW 
+///
+const INT32 MgCoordinateSystemProjectionCode::Rskew;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// cs_PRJCOD_RSKEWC
+///
+const INT32 MgCoordinateSystemProjectionCode::Rskewc;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// cs_PRJCOD_RSKEWO - Rectified Skew Orthomorphic; Skew Azimuth at Rectified Origin
+///
+const INT32 MgCoordinateSystemProjectionCode::Rskewo;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Robinson Cylindrical Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Robinson;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Sinusoidal Projection; Optionally Interrupted
+///
+const INT32 MgCoordinateSystemProjectionCode::Sinus;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// South Oriented variation of the Transverse Mercator Projection.
+///
+const INT32 MgCoordinateSystemProjectionCode::Sotrm;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Synder's Oblique Sterographic
+///
+const INT32 MgCoordinateSystemProjectionCode::Sstro;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// "Swiss" Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Swiss;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Combination of Transverse Mercator and a polynomial expansion used in Denmark
+///
+const INT32 MgCoordinateSystemProjectionCode::Sys34;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Combination of Transverse Mercator and polynomial expansion used in Denmark.  Polynominals are of the 1999 vintage.
+///
+const INT32 MgCoordinateSystemProjectionCode::Sys34_99;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Transverse Aspect; Equal Area Cylindrical Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Teacyl;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Transverse Mercator or Gauss Kruger Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Tm;              
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Transverse Mercator with affiine post-processor.
+///
+const INT32 MgCoordinateSystemProjectionCode::Trmeraf;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Transverse Mercator using Kruger Formulation
+///
+const INT32 MgCoordinateSystemProjectionCode::Trmrkrg;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Transverse Mercator per J. P. Snyder.
+///
+const INT32 MgCoordinateSystemProjectionCode::Trmrs;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Van Der Grinten Projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Vdgrntn;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Wisconsin County Coord System variation; Lambert Conformal Conic
+///
+const INT32 MgCoordinateSystemProjectionCode::Wccsl;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Wisconsin County Coord System variation; Transverse Mercator projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Wccst;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// The UTM direct variation of the Transverse Mercator projection
+///
+const INT32 MgCoordinateSystemProjectionCode::Utm;            
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Winkel-Tripel; variable standard latitude
+///
+const INT32 MgCoordinateSystemProjectionCode::Winkl;          
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Nerth with scale and rotation
+///
+const INT32 MgCoordinateSystemProjectionCode::Nrthsrt;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lambert Conformal Conic with affine post-processor.
+///
+const INT32 MgCoordinateSystemProjectionCode::Lmbrtaf;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Combination of Transverse Mercator and polynomial expansion used in Denmark.  Polynominals are of the 2001 vintage.
+///
+const INT32 MgCoordinateSystemProjectionCode::Sys34_01;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Equidistant Cylindrical Projection, Ellipsoidal or Spherical
+///
+const INT32 MgCoordinateSystemProjectionCode::EdcylE;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Inplementation of Plate Carree as a variation of the Equidistant Cylindrical
+///
+const INT32 MgCoordinateSystemProjectionCode::PlateCarree;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Popular Visualization Pseudo Mercator (aka Google Earth)
+///
+const INT32 MgCoordinateSystemProjectionCode::PvMercator;     
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lambert Conformal Conic, Michigan Variation
+///
+const INT32 MgCoordinateSystemProjectionCode::LmMich;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Unknown
+///
+const INT32 MgCoordinateSystemProjectionCode::Unknown;
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// none (no formatting)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::None;        
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// longitude(cs_FRMT_LNG), azimuth(cs_FRMT_AZM)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Lng;     
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// latitude (cs_FRMT_LAT)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Lat;     
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// angular distance (cs_FRMT_ANGD)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Angd;    
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// coefficient (cs_FRMT_COEF)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Coef;       
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// coefficient (cs_FRMT_XXX)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Xxx;      
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// coefficient (cs_FRMT_YYY)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Yyy;      
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// coefficient (cs_FRMT_SCL)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Scl;         
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// coefficient (cs_FRMT_ROT)
+///
+const INT32 MgCoordinateSystemProjectionFormatType::Rot;
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// no specification
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::None;                
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// longitude
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::Longitude;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// latitude
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::Latitude;            
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// azimuth
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::Azimuth;             
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// angular distance
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::AngularDistance;     
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// complex coefficient
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::ComplexCoefficient;  
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// UTM zone number
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::UTMZoneNumber;       
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// hemisphere selection: north > 0, south < 0
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::HemisphereSelection; 
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// geoid height in meters
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::GeoidHeight;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// elevation, system units
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::Elevation;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// affine coefficient
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::AffineCoefficient;  
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// X/Y Coordinate
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::XYCoordinate;       
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Scale value
+///
+const INT32 MgCoordinateSystemProjectionLogicalType::Scale;
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Not used.
+///
+const INT32 MgCoordinateSystemProjectionParameterType::NotUsed;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Central Meridian
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Cntmer;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Northern Standard Parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Nstdpll;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Southern Standard Parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Sstdpll;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard Parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Stdpll;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// First Great Circle Point Longitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Gcp1lng;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// First Great Circle Point Latitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Gcp1lat;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Second Great Circle Point Longitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Gcp2lng;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Second Great Circle Point Latitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Gcp2lat;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Great Circle Point Longitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Gcplng;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Great Circle Point Latitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Gcplat;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Great Circle Azimuth
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Gcazm;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Y axis azimuth
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Yaxisaz;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Eastern Standard Meridian
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Estdmer;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Northern Parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Nparall;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Southern Parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Sparall;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// First pole longitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::P1lng;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// First pole latitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::P1lat;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Second pole longitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::P2lng;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Second pole latitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::P2lat;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Distance between the poles.
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Adp1p2;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Angular distance to the first standard parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Adsp1;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Angular distance to the second standard parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Adsp2;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Complex Parameter A (n). Label string includes a %s for generation by sprintf.
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Cmplxan;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Complex Parameter B (n). Label string includes a %s for generation by sprintf.
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Cmplxbn;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Western end of Longitude range.
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Westll;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Eastern end of Longitude range
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Eastll;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// UTM Zone Number
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Utmzn;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// North/South Hemisphere
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Hsns;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Average Geoid Height
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Ghgt;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Average Elevation
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Aelev;          
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Oblique Pole Longitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Polelng;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Oblique Pole Latitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Polelat;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Oblique Cone Standard Parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Ostdpll;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Standard Circle Latitude
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Stdcir;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Affine A0 Coefficient
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Afa0;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Affine B0 Coefficient
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Afb0;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Affine A1 Coefficient
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Afa1;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Affine A2 Coefficient
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Afa2;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Affine B1 Coefficient
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Afb1;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Affine B2 Coefficient
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Afb2;           
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Normal Parallel
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Nrmlpll;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Danish System 24 Region
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Denrgn;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// cs_PRMCOD_SKWAZM - Skew Azimuth at Rectified Origin.
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Skwazm;         
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// X Coordinate of Scale/Rotate Origin
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Sclrotorgx;     
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Y Coordinate of Scale/Rotate Origin
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Sclrotorgy;     
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Cartesian Scale Factor
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Nrthscl;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Cartesian Rotation Angle
+///
+const INT32 MgCoordinateSystemProjectionParameterType::Nrthrot;        
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Ellipsoid scaling factor
+///
+const INT32 MgCoordinateSystemProjectionParameterType::EllipsoidScale;
+
+
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies the coordinate system is not set.
+///
+///
+const INT32 MgCoordinateSystemType::Unknown;
+///////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the coordinate system is arbitrary. That is,
+/// it is not spatially bound to the earth, and the initial
+/// keyword in the WKT definition of the coordinate system is
+/// LOCAL_CS.
+///
+///
+const INT32 MgCoordinateSystemType::Arbitrary;
+////////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the coordinate system is geographic. That is,
+/// the initial keyword in the WKT definition of the coordinate
+/// system is GEOGCS.
+///
+///
+const INT32 MgCoordinateSystemType::Geographic;
+//////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the coordinate system is projected. In most
+/// cases, the initial keyword in the WKT definition of the
+/// coordinate system is PROJCS. In some cases, the initial
+/// keyword is GEOGCS.
+///
+///
+const INT32 MgCoordinateSystemType::Projected;
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Meter
+///
+const INT32 MgCoordinateSystemUnitCode::Meter;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Foot
+///
+const INT32 MgCoordinateSystemUnitCode::Foot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Inch
+///
+const INT32 MgCoordinateSystemUnitCode::Inch;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IFoot
+///
+const INT32 MgCoordinateSystemUnitCode::IFoot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// ClarkeFoot
+///
+const INT32 MgCoordinateSystemUnitCode::ClarkeFoot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IInch
+///
+const INT32 MgCoordinateSystemUnitCode::IInch;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Centimeter
+///
+const INT32 MgCoordinateSystemUnitCode::Centimeter;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Kilometer
+///
+const INT32 MgCoordinateSystemUnitCode::Kilometer;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Yard
+///
+const INT32 MgCoordinateSystemUnitCode::Yard;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// SearsYard
+///
+const INT32 MgCoordinateSystemUnitCode::SearsYard;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Mile
+///
+const INT32 MgCoordinateSystemUnitCode::Mile;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IYard
+///
+const INT32 MgCoordinateSystemUnitCode::IYard;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IMile
+///
+const INT32 MgCoordinateSystemUnitCode::IMile;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Knot
+///
+const INT32 MgCoordinateSystemUnitCode::Knot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// NautM
+///
+const INT32 MgCoordinateSystemUnitCode::NautM;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lat66
+///
+const INT32 MgCoordinateSystemUnitCode::Lat66;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Lat83
+///
+const INT32 MgCoordinateSystemUnitCode::Lat83;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Decimeter
+///
+const INT32 MgCoordinateSystemUnitCode::Decimeter;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Millimeter
+///
+const INT32 MgCoordinateSystemUnitCode::Millimeter;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Dekameter
+///
+const INT32 MgCoordinateSystemUnitCode::Dekameter;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Hectometer
+///
+const INT32 MgCoordinateSystemUnitCode::Hectometer;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// GermanMeter
+///
+const INT32 MgCoordinateSystemUnitCode::GermanMeter;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// CaGrid
+///
+const INT32 MgCoordinateSystemUnitCode::CaGrid;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// ClarkeChain
+///
+const INT32 MgCoordinateSystemUnitCode::ClarkeChain;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// GunterChain
+///
+const INT32 MgCoordinateSystemUnitCode::GunterChain;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// BenoitChain
+///
+const INT32 MgCoordinateSystemUnitCode::BenoitChain;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// SearsChain
+///
+const INT32 MgCoordinateSystemUnitCode::SearsChain;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// ClarkeLink
+///
+const INT32 MgCoordinateSystemUnitCode::ClarkeLink;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// GunterLink
+///
+const INT32 MgCoordinateSystemUnitCode::GunterLink;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// BenoitLink
+///
+const INT32 MgCoordinateSystemUnitCode::BenoitLink;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// SearsLink
+///
+const INT32 MgCoordinateSystemUnitCode::SearsLink;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Rod
+///
+const INT32 MgCoordinateSystemUnitCode::Rod;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Perch
+///
+const INT32 MgCoordinateSystemUnitCode::Perch;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Pole
+///
+const INT32 MgCoordinateSystemUnitCode::Pole;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Furlong
+///
+const INT32 MgCoordinateSystemUnitCode::Furlong;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Rood
+///
+const INT32 MgCoordinateSystemUnitCode::Rood;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// CapeFoot
+///
+const INT32 MgCoordinateSystemUnitCode::CapeFoot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Brealey
+///
+const INT32 MgCoordinateSystemUnitCode::Brealey;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// SearsFoot
+///
+const INT32 MgCoordinateSystemUnitCode::SearsFoot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// GoldCoastFoot
+///
+const INT32 MgCoordinateSystemUnitCode::GoldCoastFoot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// MicroInch
+///
+const INT32 MgCoordinateSystemUnitCode::MicroInch;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IndianYard
+///
+const INT32 MgCoordinateSystemUnitCode::IndianYard;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IndianFoot
+///
+const INT32 MgCoordinateSystemUnitCode::IndianFoot;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IndianFt37
+///
+const INT32 MgCoordinateSystemUnitCode::IndianFt37;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IndianFt62
+///
+const INT32 MgCoordinateSystemUnitCode::IndianFt62;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IndianFt75
+///
+const INT32 MgCoordinateSystemUnitCode::IndianFt75;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// IndianYd37
+///
+const INT32 MgCoordinateSystemUnitCode::IndianYd37;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Decameter
+///
+const INT32 MgCoordinateSystemUnitCode::Decameter;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// InternationalChain
+///
+const INT32 MgCoordinateSystemUnitCode::InternationalChain;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// InternationalLink
+///
+const INT32 MgCoordinateSystemUnitCode::InternationalLink;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// BritishFootTrunc
+///
+const INT32 MgCoordinateSystemUnitCode::BrFootTrunc;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// BritishChainTrunc
+///
+const INT32 MgCoordinateSystemUnitCode::BrChainTrunc;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// BritishLinkTrunc
+///
+const INT32 MgCoordinateSystemUnitCode::BrLinkTrunc;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Degree
+///
+const INT32 MgCoordinateSystemUnitCode::Degree;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Grad
+///
+const INT32 MgCoordinateSystemUnitCode::Grad;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Grade
+///
+const INT32 MgCoordinateSystemUnitCode::Grade;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// MapInfo
+///
+const INT32 MgCoordinateSystemUnitCode::MapInfo;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Mil
+///
+const INT32 MgCoordinateSystemUnitCode::Mil;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Minute
+///
+const INT32 MgCoordinateSystemUnitCode::Minute;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Radian
+///
+const INT32 MgCoordinateSystemUnitCode::Radian;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Second
+///
+const INT32 MgCoordinateSystemUnitCode::Second;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Decisec
+///
+const INT32 MgCoordinateSystemUnitCode::Decisec;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Centisec
+///
+const INT32 MgCoordinateSystemUnitCode::Centisec;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Millisec
+///
+const INT32 MgCoordinateSystemUnitCode::Millisec;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Unknown
+///
+const INT32 MgCoordinateSystemUnitCode::Unknown;
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Unknown unit type. Used mainly for default or error conditions
+///
+const INT32 MgCoordinateSystemUnitType::Unknown;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Linear unit type
+///
+const INT32 MgCoordinateSystemUnitType::Linear;
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Angular unit type
+///
+const INT32 MgCoordinateSystemUnitType::Angular;
+
+
+/////////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometric entity is a geometry component.
+///
+const INT32 MgGeometryEntityType::GeometryComponent;
+
+///////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometric entity is a geometry.
+///
+const INT32 MgGeometryEntityType::Geometry;
+
+
+////////////////////////////////////////////////////////
+/// \brief
+/// Specifies the geometry component is a MgLinearRing.
+///
+const INT32 MgGeometryComponentType::LinearRing;
+
+/////////////////////////////////////////////////////////
+/// \brief
+/// Specifies the geometry component is an MgArcSegment.
+///
+const INT32 MgGeometryComponentType::ArcSegment;
+
+////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies the geometry component is an MgLinearSegment.
+///
+const INT32 MgGeometryComponentType::LinearSegment;
+
+////////////////////////////////////////////////////////
+/// \brief
+/// Specifies the geometry component is an MgCurveRing.
+///
+const INT32 MgGeometryComponentType::CurveRing;
+
+
+
+/////////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the Douglas-Peucker algorithm be used for simplification.
+///
+const INT32 MgGeometrySimplificationAlgorithmType::DouglasPeucker;
+
+///////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the Topology Preserving algorithm be used for simplification
+///
+const INT32 MgGeometrySimplificationAlgorithmType::TopologyPreserving;
+
+
+
+////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a Point.
+///
+const INT32 MgGeometryType::Point;
+
+/////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a LineString.
+///
+const INT32 MgGeometryType::LineString;
+
+//////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a Polygon.
+///
+const INT32 MgGeometryType::Polygon;
+
+/////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a MultiPoint.
+///
+const INT32 MgGeometryType::MultiPoint;
+
+//////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a MultiLineString.
+///
+const INT32 MgGeometryType::MultiLineString;
+
+///////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a MultiPolygon.
+///
+const INT32 MgGeometryType::MultiPolygon;
+
+//////////////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a MultiGeometry. In OpenGIS
+/// this is referred to as a GeometryCollection.
+///
+const INT32 MgGeometryType::MultiGeometry;
+
+//////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a CurveString.
+///
+const INT32 MgGeometryType::CurveString;
+
+///////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a CurvePolygon.
+///
+const INT32 MgGeometryType::CurvePolygon;
+
+//////////////////////////////////////////////////////
+/// \brief
+/// Specifies that the geometry is a MultiLineString.
+///
+const INT32 MgGeometryType::MultiCurveString;
+
+//////////////////////////////////////////////
+/// \brief
+/// Specifies the geometry is a MultiPolygon.
+///
+const INT32 MgGeometryType::MultiCurvePolygon;
\ No newline at end of file

Added: sandbox/jng/catch2/Common/PlatformBase/LinuxNumericalConstants.cpp
===================================================================
--- sandbox/jng/catch2/Common/PlatformBase/LinuxNumericalConstants.cpp	                        (rev 0)
+++ sandbox/jng/catch2/Common/PlatformBase/LinuxNumericalConstants.cpp	2020-07-15 12:07:01 UTC (rev 9668)
@@ -0,0 +1,122 @@
+//
+//  Copyright (C) 2004-2020 by Autodesk, Inc.
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of version 2.1 of the GNU Lesser
+//  General Public License as published by the Free Software Foundation.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+// Linux-specific TU to ensure static int constants are defined as actual symbols
+// in the final library
+
+#include "MapLayer/LayerGroupType.h"
+#include "MapLayer/LayerType.h"
+#include "Services/FeatureGeometricType.h"
+#include "Services/ObjectPropertyType.h"
+#include "Services/OrderingOption.h"
+#include "Services/ReaderType.h"
+
+////////////////////////////////////////////
+/// \brief
+/// Specifies that the layer group is a normal layer group.
+///
+const INT32 MgLayerGroupType::Normal;
+/////////////////////////////////////////////////
+/// \brief
+/// Specifies that the layer is a base map layer group (i.e.
+/// it contains base map layers).
+///
+const INT32 MgLayerGroupType::BaseMap;
+/////////////////////////////////////////////////
+/// \brief
+/// Specifies that the layer is a base map layer from a TileSetDefinition resource.
+///
+/// \remarks
+/// From a client application perspective, a layer group with of this type should be treated
+/// the same as layer group of type \link MgLayerGroupType::BaseMap BaseMap \endlink
+///
+/// \since 3.0
+const INT32 MgLayerGroupType::BaseMapFromTileSet;
+
+////////////////////////////////////////////
+/// \brief
+/// Specifies that the layer is a dynamic layer.
+///
+const INT32 MgLayerType::Dynamic;
+/////////////////////////////////////////////////
+/// \brief
+/// Specifies that the layer is a base map layer.
+///
+const INT32 MgLayerType::BaseMap;
+
+
+/////////////////////////////////////////////////////////////
+/// \brief
+/// Represents zero-dimensional geometric primitives, such as
+/// MgPoint.
+const int MgFeatureGeometricType::Point;
+
+////////////////////////////////////////////////////////////
+/// \brief
+/// Represents one-dimensional geometric primitives, such as
+/// MgLineString and MgCurveString.
+const int MgFeatureGeometricType::Curve;
+
+////////////////////////////////////////////////////////////
+/// \brief
+/// Represents two-dimensional geometric primitives, such as
+/// MgPolygon and MgCurvePolygon.
+const int MgFeatureGeometricType::Surface;
+
+//////////////////////////////////////////////////////////////
+/// \brief
+/// Represents three-dimensional geometric primitives, such as
+/// Cubes.
+const int MgFeatureGeometricType::Solid;
+
+
+////////////////////////////////////////////////////////////////
+/// \brief
+/// Signifies that the object property contains a single feature
+/// class object.
+const int MgObjectPropertyType::Value;
+//////////////////////////////////////////////////////////////
+/// \brief
+/// Signifies that the object property contains more than one
+/// feature class object. The collection of objects is in no
+/// particular order relative to the identity property defined
+/// for the collection. See \link MgObjectPropertyDefinition::GetIdentityProperty \endlink
+const int MgObjectPropertyType::Collection;
+/////////////////////////////////////////////////////////////////
+/// \brief
+/// Signifies that the object property contains more than one
+/// feature class object in ascending or descending order
+/// relative to the identity property defined for the collection.
+/// See \link MgObjectPropertyDefinition::GetIdentityProperty \endlink
+const int MgObjectPropertyType::OrderedCollection;
+
+
+const int MgOrderingOption::Ascending;
+const int MgOrderingOption::Descending;
+
+/////////////////////////////////////////////////////////
+/// \brief
+/// Signifies that the object is of type MgFeatureReader.
+const int MgReaderType::FeatureReader;
+//////////////////////////////////////////////////////
+/// \brief
+/// Signifies that the object is of type MgDataReader.
+const int MgReaderType::DataReader;
+/////////////////////////////////////////////////////////
+/// \brief
+/// Signifies that the object is of type MgSqlDataReader.
+const int MgReaderType::SqlDataReader;
\ No newline at end of file

Modified: sandbox/jng/catch2/Common/PlatformBase/PlatformBaseBuild.cpp
===================================================================
--- sandbox/jng/catch2/Common/PlatformBase/PlatformBaseBuild.cpp	2020-07-15 12:01:56 UTC (rev 9667)
+++ sandbox/jng/catch2/Common/PlatformBase/PlatformBaseBuild.cpp	2020-07-15 12:07:01 UTC (rev 9668)
@@ -98,7 +98,6 @@
 #include "Services/LongTransactionData.cpp"
 #include "Services/LongTransactionReader.cpp"
 #include "Services/ObjectPropertyDefinition.cpp"
-#include "Services/OrderingOption.cpp"
 #include "Services/Parameter.cpp"
 #include "Services/ParameterCollection.cpp"
 #include "Services/Raster.cpp"
@@ -128,3 +127,7 @@
 #include "Services/PrintLayoutService/PropertyMapping.cpp"
 #include "Services/PrintLayoutService/PropertyMappingCollection.cpp"
 #include "Services/Transaction.cpp"
+
+#ifndef _WIN32
+#include "LinuxNumericalConstants.cpp"
+#endif
\ No newline at end of file

Deleted: sandbox/jng/catch2/Common/PlatformBase/Services/OrderingOption.cpp
===================================================================
--- sandbox/jng/catch2/Common/PlatformBase/Services/OrderingOption.cpp	2020-07-15 12:01:56 UTC (rev 9667)
+++ sandbox/jng/catch2/Common/PlatformBase/Services/OrderingOption.cpp	2020-07-15 12:07:01 UTC (rev 9668)
@@ -1,25 +0,0 @@
-//
-//  Copyright (C) 2004-2014 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "OrderingOption.h"
-
-//NOTE: This is primarily for Linux to ensure that the symbols below are
-//included in the resulting binary, as the typedef changes to enable 64-bit support
-//caused these symbols below to be unresolved
-
-const int MgOrderingOption::Ascending;
-const int MgOrderingOption::Descending;

Modified: sandbox/jng/catch2/Server/src/UnitTesting/CMakeLists.txt
===================================================================
--- sandbox/jng/catch2/Server/src/UnitTesting/CMakeLists.txt	2020-07-15 12:01:56 UTC (rev 9667)
+++ sandbox/jng/catch2/Server/src/UnitTesting/CMakeLists.txt	2020-07-15 12:07:01 UTC (rev 9668)
@@ -37,6 +37,7 @@
     TestResourceService.cpp
     TestServerAdminService.cpp
     TestServerManager.cpp
+    TestServiceFactory.cpp
     TestServiceManager.cpp
     TestSiteManager.cpp
     TestSiteService.cpp



More information about the mapguide-commits mailing list