[mapguide-commits] r6088 - in trunk/MgDev/Common: CoordinateSystem Geometry/CoordinateSystem Geometry/GeometryConsoleTest Geometry/GeometryConsoleTest/src

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Aug 22 22:07:34 EDT 2011


Author: NormOlsen
Date: 2011-08-22 19:07:34 -0700 (Mon, 22 Aug 2011)
New Revision: 6088

Modified:
   trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.cpp
   trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.h
   trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp
   trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.h
   trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticDirection.h
   trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h
   trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h
   trunk/MgDev/Common/Geometry/GeometryConsoleTest/GeometryConsoleTest.vcproj
   trunk/MgDev/Common/Geometry/GeometryConsoleTest/src/GctTestT.cpp
Log:


Modified: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.cpp
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.cpp	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.cpp	2011-08-23 02:07:34 UTC (rev 6088)
@@ -207,3 +207,78 @@
 DEFINE_GET_SET_NUMERIC(CCoordinateSystemGeodeticPath,IsReversible,bool,this->pathDefinition->reversible)
 DEFINE_GET_SET_NUMERIC(CCoordinateSystemGeodeticPath,EpsgCode,INT32,this->pathDefinition->epsgCode)
 DEFINE_GET_SET_NUMERIC(CCoordinateSystemGeodeticPath,EpsgVariant,INT32,this->pathDefinition->variant)
+
+//*****************************************************************************
+UINT8* CCoordinateSystemGeodeticPath::SerializeFrom(UINT8* pStream)
+{
+    UINT8* pStreamOut=pStream;
+
+    MG_TRY()
+    assert(NULL != pStream);
+    if (!pStream)
+    {
+        throw new MgInvalidArgumentException(L"MgCoordinateSystemGeodeticPath.SerializeFrom", __LINE__, __WFILE__, NULL, L"", NULL);
+    }
+
+    UINT8 nVersion=pStreamOut[0];
+
+    if (kGpRelease0==nVersion)
+    {
+        pStreamOut++;
+
+        //Read the def from the stream
+        cs_GeodeticPath_* previousPathPtr = this->pathDefinition;
+        this->pathDefinition = (cs_GeodeticPath_*)CS_malc(sizeof(cs_GeodeticPath_));
+        if (pathDefinition == NULL)
+        {
+            this->pathDefinition = previousPathPtr;
+            throw new MgOutOfMemoryException (L"MgCoordinateSystemGeodeticPath.SerializeFrom", __LINE__, __WFILE__, NULL, L"", NULL);
+        }
+        memcpy(pathDefinition, pStreamOut, sizeof(cs_GeodeticPath_));
+        pStreamOut = pStreamOut + sizeof(cs_GeodeticPath_);
+        
+        //Make sure it's valid.  This function does not throw.
+        if (!IsValid())
+        {
+            CS_free (this->pathDefinition);
+            this->pathDefinition = previousPathPtr;
+            throw new MgInvalidArgumentException(L"MgCoordinateSystemGeodeticPath.SerializeFrom", __LINE__, __WFILE__, NULL, L"", NULL);
+        }
+        CS_free (previousPathPtr);
+    }
+
+    MG_CATCH_AND_THROW(L"MgCoordinateSystemGeodeticPath.SerializeFrom")
+    return pStreamOut;
+}
+
+//*****************************************************************************
+UINT8* CCoordinateSystemGeodeticPath::SerializeTo(UINT8* pStream)
+{
+    UINT8* pStreamOut=pStream;
+
+    MG_TRY()
+    assert(NULL != pStream);
+    if (!pStream)
+    {
+        throw new MgInvalidArgumentException(L"MgCoordinateSystemGeodeticPath.SerializeTo", __LINE__, __WFILE__, NULL, L"", NULL);
+    }
+
+    //save the version
+    pStreamOut[0]=kGpRelease0;
+    pStreamOut++;
+
+    char *pBuf = reinterpret_cast<char *>(this->pathDefinition);
+    memcpy(pStreamOut, pBuf, sizeof(*this->pathDefinition));
+    pStreamOut = pStreamOut + sizeof(*this->pathDefinition);
+
+    MG_CATCH_AND_THROW(L"MgCoordinateSystemGeodeticPath.SerializeTo")
+    return pStreamOut;
+}
+
+//*****************************************************************************
+UINT32 CCoordinateSystemGeodeticPath::GetSizeSerialized()
+{
+    //size of the structure and the verison number
+    size_t size=sizeof(cs_GeodeticPath_) + sizeof(UINT8);
+    return static_cast<UINT32>(size);
+}

Modified: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.h
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.h	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticPath.h	2011-08-23 02:07:34 UTC (rev 6088)
@@ -70,6 +70,10 @@
         virtual MgDisposableCollection* GetPathElements();
         virtual void SetPathElements(MgDisposableCollection* pathElements);
 
+        virtual UINT8* SerializeFrom(UINT8* pStream);
+        virtual UINT8* SerializeTo(UINT8* pStream);
+        virtual UINT32 GetSizeSerialized();
+
         //helper - don't delete
         virtual bool IsEncrypted();
 
@@ -84,6 +88,11 @@
     private:
         cs_GeodeticPath_* pathDefinition;
         Ptr<MgCoordinateSystemCatalog> catalog;
+       
+        enum CCoordinateSystemGeodeticPathObjectVersions
+        {
+            kGpRelease0  = 0   // Initial Release
+        };
     };
 
 } //namespace CSLibrary

Modified: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp	2011-08-23 02:07:34 UTC (rev 6088)
@@ -371,3 +371,110 @@
 DEFINE_GET_SET_NUMERIC(CCoordinateSystemGeodeticTransformDef,RangeMaxLongitude,double,this->transformDefinition->rangeMaxLng)
 DEFINE_GET_SET_NUMERIC(CCoordinateSystemGeodeticTransformDef,RangeMinLatitude,double,this->transformDefinition->rangeMinLat)
 DEFINE_GET_SET_NUMERIC(CCoordinateSystemGeodeticTransformDef,RangeMaxLatitude,double,this->transformDefinition->rangeMaxLat)
+
+//*****************************************************************************
+UINT8* CCoordinateSystemGeodeticTransformDef::SerializeFrom(UINT8* pStream)
+{
+    UINT8* pStreamIn=pStream;
+    char *pBuf;
+
+    assert(NULL != pStream);
+    if (!pStream)
+    {
+        throw new MgInvalidArgumentException(L"MgCoordinateSystemGeodeticTransformDef.SerializeFrom", __LINE__, __WFILE__, NULL, L"", NULL);
+    }
+
+    // In case an exception gets thrown.
+    INT32 previousType = this->transformationDefType;
+    cs_GeodeticTransform_* previousTransformPtr = this->transformDefinition;
+
+    MG_TRY()
+
+    UINT8 nVersion=pStreamIn[0];
+
+    if (kGxRelease0==nVersion)
+    {
+        pStreamIn++;
+
+        //Read the def from the stream
+        this->transformDefinition = (cs_GeodeticTransform_*)CS_malc(sizeof(cs_GeodeticTransform_));
+        if (transformDefinition == NULL)
+        {
+            this->transformDefinition = previousTransformPtr;
+            previousTransformPtr = 0;
+            throw new MgOutOfMemoryException (L"MgCoordinateSystemGeodeticTransformDef.SerializeFrom", __LINE__, __WFILE__, NULL, L"", NULL);
+        }
+        pBuf = reinterpret_cast<char *>(this->transformDefinition);
+        memcpy(pBuf, pStreamIn, sizeof(cs_GeodeticTransform_));
+        pStreamIn = pStreamIn + sizeof(cs_GeodeticTransform_);
+        // The following function nwill throw if the mthodCode is not one known to the function.
+        this->transformationDefType = GetTransformationDefType(this->transformDefinition->methodCode);
+ 
+        // Verify the validity of the result.
+        if (IsValid())
+        {
+            // Yup! its OK.  Release the copy of the previous definition.
+            CS_free (previousTransformPtr);
+            previousTransformPtr = 0;
+        }
+        else
+        {
+            // Nope!  It's not valid, but not valid in such a way that would cause
+            // an exception to be thrown.  transformationDefinition cannot be
+            // NULL at this point.
+            CS_free (this->transformDefinition);
+            this->transformationDefType = previousType;
+            this->transformDefinition = previousTransformPtr;
+            throw new MgInvalidArgumentException(L"MgCoordinateSystemGeodeticTransformDef.SerializeFrom", __LINE__, __WFILE__, NULL, L"", NULL);
+        }
+    }
+
+    MG_CATCH (L"MgCoordinateSystemGeodeticTransformDef.SerializeFrom")
+    if (mgException != NULL)
+    {
+        // Here if an exception was thrown.
+        // transformationDefinition can indeed be NULL here.
+        if (this->transformDefinition != NULL)
+        {
+            CS_free (this->transformDefinition);
+        }
+        this->transformationDefType = previousType;
+        this->transformDefinition = previousTransformPtr;
+    }
+    MG_THROW ()
+
+    return pStreamIn;
+}
+
+//*****************************************************************************
+UINT8* CCoordinateSystemGeodeticTransformDef::SerializeTo(UINT8* pStream)
+{
+    char *pBuf;
+    UINT8* pStreamOut=pStream;
+
+    MG_TRY()
+    assert(NULL != pStream);
+    if (!pStream)
+    {
+        throw new MgInvalidArgumentException(L"MgCoordinateSystemGeodeticTransformDef.SerializeTo", __LINE__, __WFILE__, NULL, L"", NULL);
+    }
+
+    //save the version
+    pStreamOut[0]=kGxRelease0;
+    pStreamOut++;
+
+    pBuf = reinterpret_cast<char *>(this->transformDefinition);
+    memcpy(pStreamOut, pBuf, sizeof(*this->transformDefinition));
+    pStreamOut = pStreamOut + sizeof(*this->transformDefinition);
+
+    MG_CATCH_AND_THROW(L"MgCoordinateSystemGeodeticTransformDef.SerializeTo")
+    return pStreamOut;
+}
+
+//*****************************************************************************
+UINT32 CCoordinateSystemGeodeticTransformDef::GetSizeSerialized()
+{
+    //size of the structure and the verison number
+    size_t size=sizeof(cs_GeodeticTransform_) + sizeof(UINT8);
+    return static_cast<UINT32>(size);
+}

Modified: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.h
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.h	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.h	2011-08-23 02:07:34 UTC (rev 6088)
@@ -96,6 +96,10 @@
 
     MgCoordinateSystemGeodeticTransformation* CreateTransformation(bool createInverse);
 
+    virtual UINT8* SerializeFrom(UINT8* pStream);
+    virtual UINT8* SerializeTo(UINT8* pStream);
+    virtual UINT32 GetSizeSerialized();
+
     //helper - don't delete
     virtual bool IsEncrypted();
 
@@ -112,6 +116,11 @@
     INT32 transformationDefType;
     cs_GeodeticTransform_* transformDefinition;
     Ptr<MgCoordinateSystemCatalog> catalog;
+    
+    enum CCoordinateSystemGeodeticPathObjectVersions
+    {
+        kGxRelease0  = 0   // Initial Release
+    };
 };
 
 } //namespace CSLibrary

Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticDirection.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticDirection.h	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticDirection.h	2011-08-23 02:07:34 UTC (rev 6088)
@@ -1,5 +1,5 @@
 //
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
+//  Copyright (C) 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

Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h	2011-08-23 02:07:34 UTC (rev 6088)
@@ -125,6 +125,11 @@
     /// the dictionary file.
     virtual MgCoordinateSystemGeodeticPath* CreateClone() = 0;
 
+INTERNAL_API:
+    virtual UINT8* SerializeFrom(UINT8* pStream)=0;
+    virtual UINT8* SerializeTo(UINT8* pStream)=0;
+    virtual UINT32 GetSizeSerialized()=0;
+
 protected:
     /////////////////////////////////////////////////////////////////
     /// \brief

Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h	2011-08-23 02:07:34 UTC (rev 6088)
@@ -174,6 +174,11 @@
     /// is reponsible for disposing the object being returned.
     virtual MgCoordinateSystemGeodeticTransformation* CreateTransformation(bool createInverse) = 0;
 
+INTERNAL_API:
+    virtual UINT8* SerializeFrom(UINT8* pStream)=0;
+    virtual UINT8* SerializeTo(UINT8* pStream)=0;
+    virtual UINT32 GetSizeSerialized()=0;
+
 protected:
     /////////////////////////////////////////////////////////////////
     /// \brief

Modified: trunk/MgDev/Common/Geometry/GeometryConsoleTest/GeometryConsoleTest.vcproj
===================================================================
--- trunk/MgDev/Common/Geometry/GeometryConsoleTest/GeometryConsoleTest.vcproj	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/Geometry/GeometryConsoleTest/GeometryConsoleTest.vcproj	2011-08-23 02:07:34 UTC (rev 6088)
@@ -45,7 +45,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry\CoordinateSystem;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Oem\ACE\ACE_wrappers"
+				AdditionalIncludeDirectories="..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry\CoordinateSystem;..\..\..\Common\CoordinateSystem;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Oem\ACE\ACE_wrappers"
 				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
 				StringPooling="true"
 				MinimalRebuild="false"
@@ -125,7 +125,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Common\Geometry\CoordinateSystem;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Oem\ACE\ACE_wrappers"
+				AdditionalIncludeDirectories="..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Common\Geometry\CoordinateSystem;..\..\..\Common\CoordinateSystem;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Oem\ACE\ACE_wrappers"
 				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
 				StringPooling="true"
 				MinimalRebuild="false"
@@ -206,7 +206,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="2"
 				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry;..\..\..\Common\Foundation;..\..\..\CommonGeometry\CoordinateSystem;..\..\..\Oem\ACE\ACE_wrappers"
+				AdditionalIncludeDirectories="..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry;..\..\..\Common\Foundation;..\..\..\CommonGeometry\CoordinateSystem;..\..\..\Common\CoordinateSystem;..\..\..\Oem\ACE\ACE_wrappers"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -289,7 +289,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="2"
 				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Common\Geometry;..\..\..\Common\Foundation;..\..\..\CommonGeometry\CoordinateSystem;..\..\..\Oem\ACE\ACE_wrappers"
+				AdditionalIncludeDirectories="..\..\..\Oem\CsMap\Include;..\..\..\Common\Geometry\GeometryConsoleTest\inc;..\..\..\Common\Geometry;..\..\..\Common\Foundation;..\..\..\CommonGeometry\CoordinateSystem;..\..\..\Common\CoordinateSystem;..\..\..\Oem\ACE\ACE_wrappers"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
 				StringPooling="true"
 				RuntimeLibrary="2"

Modified: trunk/MgDev/Common/Geometry/GeometryConsoleTest/src/GctTestT.cpp
===================================================================
--- trunk/MgDev/Common/Geometry/GeometryConsoleTest/src/GctTestT.cpp	2011-08-22 17:47:06 UTC (rev 6087)
+++ trunk/MgDev/Common/Geometry/GeometryConsoleTest/src/GctTestT.cpp	2011-08-23 02:07:34 UTC (rev 6088)
@@ -18,6 +18,15 @@
 #include "GeometryCommon.h"
 #include "GeometryConsoleTest.h"
 
+#include "CoordSysGeodeticTransformation.h"
+#include "CoordSysGeodeticTransformDefParams.h"
+#include "CoordSysGeodeticStandaloneTransformDefParams.h"
+#include "CoordSysGeodeticAnalyticalTransformDefParams.h"
+#include "CoordSysGeodeticInterpolationTransformDefParams.h"
+#include "CoordSysGeodeticMultipleRegressionTransformDefParams.h"
+#include "CoordSysGeodeticTransformDef.h"
+#include "CoordSysGeodeticPath.h"
+
 static wchar_t moduleName [] = L"GctTestT.cpp";
 
 INT32 GctTestT (MgGctTestParameters& cmdLineParms)
@@ -33,6 +42,10 @@
     Ptr<MgCoordinateSystem> ptrSourceCRS;
     Ptr<MgCoordinateSystem> ptrTargetCRS;
     Ptr<MgCoordinateSystemTransform> crsTransform;
+    Ptr<MgCoordinateSystemGeodeticTransformDefDictionary> ptrTransformDictionary;
+    Ptr<MgCoordinateSystemGeodeticPathDictionary> ptrPathDictionary;
+    Ptr<MgCoordinateSystemGeodeticTransformDef> ptrTransformDef;
+    Ptr<MgCoordinateSystemGeodeticPath> ptrPath;
 
     MgGeometryFactory mgFactory;
     MgCoordinateSystemFactory csFactory;
@@ -53,6 +66,10 @@
         // Get some basic pointers.
         ptrCatalog = csFactory.GetCatalog ();
         ptrDictionary = ptrCatalog->GetCoordinateSystemDictionary ();
+        ptrTransformDictionary = ptrCatalog->GetGeodeticTransformDefDictionary ();
+        ptrPathDictionary = ptrCatalog->GetGeodeticPathDictionary ();
+ 
+ #ifdef __SKIP__
         ptrSourceCRS = ptrDictionary->GetCoordinateSystem (L"LL-ATS77");
         ptrTargetCRS = ptrDictionary->GetCoordinateSystem (L"LL84");
         crsTransform = csFactory.GetTransform (ptrSourceCRS.p,ptrTargetCRS.p);
@@ -66,6 +83,29 @@
             Ptr<MgCoordinateSystemGeodeticPath> pathDefPtr;
             pathDefPtr = crsTransform->GetExplicitGeodeticPath ();
         }
+#endif
+#ifdef __SKIP__
+
+        ptrTransformDef.p = ptrTransformDictionary->GetGeodeticTransformationDef (L"ABIDJAN-87_to_WGS84");
+        CSLibrary::CCoordinateSystemGeodeticTransformDef* xfrmDefOld = dynamic_cast<CSLibrary::CCoordinateSystemGeodeticTransformDef*>(ptrTransformDef.p);
+        INT32 transformSize = xfrmDefOld->GetSizeSerialized();
+        UINT8* bufr = new UINT8 [transformSize];
+        xfrmDefOld->SerializeTo (bufr);
+
+        MgCoordinateSystemGeodeticTransformDef* ptrXfrmDefNewMg = ptrTransformDictionary->NewGeodeticTransformationDef(MgCoordinateSystemGeodeticTransformDefType::Standalone);
+        CSLibrary::CCoordinateSystemGeodeticTransformDef* xfrmDefNew = dynamic_cast<CSLibrary::CCoordinateSystemGeodeticTransformDef*>(ptrXfrmDefNewMg);
+        xfrmDefNew->SerializeFrom (bufr);
+#endif
+
+        ptrPath.p = ptrPathDictionary->GetGeodeticPath (L"ASTRLA66-Grid_to_WGS84");
+        CSLibrary::CCoordinateSystemGeodeticPath* pathDefOld = dynamic_cast<CSLibrary::CCoordinateSystemGeodeticPath*>(ptrPath.p);
+        INT32 pathSize = pathDefOld->GetSizeSerialized();
+        UINT8* bufr = new UINT8 [pathSize];
+        pathDefOld->SerializeTo (bufr);
+
+        MgCoordinateSystemGeodeticPath* ptrPathDefNewMg = ptrPathDictionary->NewGeodeticPath();
+        CSLibrary::CCoordinateSystemGeodeticPath* pathDefNew = dynamic_cast<CSLibrary::CCoordinateSystemGeodeticPath*>(ptrPathDefNewMg);
+        pathDefNew->SerializeFrom (bufr);
     }
     catch (...)
     {
@@ -80,4 +120,3 @@
     // All done.
     return errorCount;
 }
-



More information about the mapguide-commits mailing list