[mapguide-commits] r1164 - in trunk/MgDev/Common: MdfModel Stylization

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Mar 7 07:17:53 EST 2007


Author: waltweltonlair
Date: 2007-03-07 07:17:53 -0500 (Wed, 07 Mar 2007)
New Revision: 1164

Removed:
   trunk/MgDev/Common/MdfModel/IUsageVisitor.h
   trunk/MgDev/Common/MdfModel/Usage.cpp
   trunk/MgDev/Common/MdfModel/Usage.h
Modified:
   trunk/MgDev/Common/MdfModel/AreaUsage.cpp
   trunk/MgDev/Common/MdfModel/AreaUsage.h
   trunk/MgDev/Common/MdfModel/LineUsage.cpp
   trunk/MgDev/Common/MdfModel/LineUsage.h
   trunk/MgDev/Common/MdfModel/Makefile.am
   trunk/MgDev/Common/MdfModel/MdfModel.vcproj
   trunk/MgDev/Common/MdfModel/PointUsage.cpp
   trunk/MgDev/Common/MdfModel/PointUsage.h
   trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
   trunk/MgDev/Common/Stylization/SE_StyleVisitor.h
   trunk/MgDev/Common/Stylization/Stylization.h
Log:
Get rid of Usage and IUsageVisitor in MdfModel.  The three usage classes
don't have any common data.


Modified: trunk/MgDev/Common/MdfModel/AreaUsage.cpp
===================================================================
--- trunk/MgDev/Common/MdfModel/AreaUsage.cpp	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/AreaUsage.cpp	2007-03-07 12:17:53 UTC (rev 1164)
@@ -63,6 +63,24 @@
 // PURPOSE:
 // PARAMETERS:
 //-------------------------------------------------------------------------
+const MdfString& AreaUsage::GetAngleControl() const
+{
+    return this->m_sAngleControl;
+}
+
+//-------------------------------------------------------------------------
+// PURPOSE:
+// PARAMETERS:
+//-------------------------------------------------------------------------
+void AreaUsage::SetAngleControl(const MdfString& angleControl)
+{
+    this->m_sAngleControl = angleControl;
+}
+
+//-------------------------------------------------------------------------
+// PURPOSE:
+// PARAMETERS:
+//-------------------------------------------------------------------------
 const MdfString& AreaUsage::GetClippingControl() const
 {
     return this->m_sClippingControl;
@@ -184,12 +202,3 @@
 {
     this->m_sBufferWidth = bufferWidth;
 }
-
-//-------------------------------------------------------------------------
-// PURPOSE:
-// PARAMETERS:
-//-------------------------------------------------------------------------
-void AreaUsage::AcceptVisitor(IUsageVisitor& iuVisitor)
-{
-    iuVisitor.VisitAreaUsage(*this);
-}

Modified: trunk/MgDev/Common/MdfModel/AreaUsage.h
===================================================================
--- trunk/MgDev/Common/MdfModel/AreaUsage.h	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/AreaUsage.h	2007-03-07 12:17:53 UTC (rev 1164)
@@ -19,14 +19,14 @@
 #define AREAUSAGE_H_
 
 #include "MdfModel.h"
-#include "Usage.h"
+#include "MdfRootObject.h"
 
 BEGIN_NAMESPACE_MDFMODEL
 
     //-------------------------------------------------------------------------
     // DESCRIPTION:
     //-------------------------------------------------------------------------
-    class MDFMODEL_API AreaUsage : public Usage
+    class MDFMODEL_API AreaUsage : public MdfRootObject
     {
     public:
         // Construction, destruction, initialization
@@ -36,6 +36,9 @@
         const MdfString& GetOriginControl() const;
         void SetOriginControl(const MdfString& originControl);
 
+        const MdfString& GetAngleControl() const;
+        void SetAngleControl(const MdfString& angleControl);
+
         const MdfString& GetClippingControl() const;
         void SetClippingControl(const MdfString& clippingControl);
 
@@ -57,8 +60,6 @@
         const MdfString& GetBufferWidth() const;
         void SetBufferWidth(const MdfString& bufferWidth);
 
-        virtual void AcceptVisitor(IUsageVisitor& iuVisitor);
-
     private:
         // Hidden copy constructor and assignment operator.
         AreaUsage(const AreaUsage&);
@@ -66,6 +67,7 @@
 
         // Data members
         MdfString m_sOriginControl;
+        MdfString m_sAngleControl;
         MdfString m_sClippingControl;
         MdfString m_sOriginX;
         MdfString m_sOriginY;

Deleted: trunk/MgDev/Common/MdfModel/IUsageVisitor.h
===================================================================
--- trunk/MgDev/Common/MdfModel/IUsageVisitor.h	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/IUsageVisitor.h	2007-03-07 12:17:53 UTC (rev 1164)
@@ -1,45 +0,0 @@
-//
-//  Copyright (C) 2007 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
-//
-
-#ifndef IUSAGEVISITOR_H_
-#define IUSAGEVISITOR_H_
-
-#include "MdfModel.h"
-
-BEGIN_NAMESPACE_MDFMODEL
-
-    class PointUsage;
-    class LineUsage;
-    class AreaUsage;
-
-    //-------------------------------------------------------------------------
-    // DESCRIPTION:
-    // The IUsageVisitor is an interface that is used for determining
-    // the concrete class type of a pointer or reference to the abstract
-    // Usage class.
-    //-------------------------------------------------------------------------
-    class MDFMODEL_API IUsageVisitor
-    {
-    public:
-        // Operations
-        virtual void VisitPointUsage(PointUsage& pointUsage) = 0;
-        virtual void VisitLineUsage(LineUsage& lineUsage) = 0;
-        virtual void VisitAreaUsage(AreaUsage& areaUsage) = 0;
-    };
-
-END_NAMESPACE_MDFMODEL
-#endif // IUSAGEVISITOR_H_

Modified: trunk/MgDev/Common/MdfModel/LineUsage.cpp
===================================================================
--- trunk/MgDev/Common/MdfModel/LineUsage.cpp	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/LineUsage.cpp	2007-03-07 12:17:53 UTC (rev 1164)
@@ -49,6 +49,24 @@
 // PURPOSE:
 // PARAMETERS:
 //-------------------------------------------------------------------------
+const MdfString& LineUsage::GetAngleControl() const
+{
+    return this->m_sAngleControl;
+}
+
+//-------------------------------------------------------------------------
+// PURPOSE:
+// PARAMETERS:
+//-------------------------------------------------------------------------
+void LineUsage::SetAngleControl(const MdfString& angleControl)
+{
+    this->m_sAngleControl = angleControl;
+}
+
+//-------------------------------------------------------------------------
+// PURPOSE:
+// PARAMETERS:
+//-------------------------------------------------------------------------
 const MdfString& LineUsage::GetUnitsControl() const
 {
     return this->m_sUnitsControl;
@@ -204,12 +222,3 @@
     this->m_pDefaultPath = NULL;
     return pRet;
 }
-
-//-------------------------------------------------------------------------
-// PURPOSE:
-// PARAMETERS:
-//-------------------------------------------------------------------------
-void LineUsage::AcceptVisitor(IUsageVisitor& iuVisitor)
-{
-    iuVisitor.VisitLineUsage(*this);
-}

Modified: trunk/MgDev/Common/MdfModel/LineUsage.h
===================================================================
--- trunk/MgDev/Common/MdfModel/LineUsage.h	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/LineUsage.h	2007-03-07 12:17:53 UTC (rev 1164)
@@ -19,7 +19,7 @@
 #define LINEUSAGE_H_
 
 #include "MdfModel.h"
-#include "Usage.h"
+#include "MdfRootObject.h"
 #include "Path.h"
 
 BEGIN_NAMESPACE_MDFMODEL
@@ -27,14 +27,16 @@
     //-------------------------------------------------------------------------
     // DESCRIPTION:
     //-------------------------------------------------------------------------
-    class MDFMODEL_API LineUsage : public Usage
+    class MDFMODEL_API LineUsage : public MdfRootObject
     {
     public:
-
         // Construction, destruction, initialization
         LineUsage();
         virtual ~LineUsage();
 
+        const MdfString& GetAngleControl() const;
+        void SetAngleControl(const MdfString& angleControl);
+
         const MdfString& GetUnitsControl() const;
         void SetUnitsControl(const MdfString& unitsControl);
 
@@ -60,14 +62,13 @@
         void AdoptDefaultPath(Path* defaultPath);
         Path* OrphanDefaultPath();
 
-        virtual void AcceptVisitor(IUsageVisitor& iuVisitor);
-
     private:
         // Hidden copy constructor and assignment operator.
         LineUsage(const LineUsage&);
         LineUsage& operator=(const LineUsage&);
 
         // Data members
+        MdfString m_sAngleControl;
         MdfString m_sUnitsControl;
         MdfString m_sVertexControl;
         MdfString m_sAngle;

Modified: trunk/MgDev/Common/MdfModel/Makefile.am
===================================================================
--- trunk/MgDev/Common/MdfModel/Makefile.am	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/Makefile.am	2007-03-07 12:17:53 UTC (rev 1164)
@@ -118,7 +118,6 @@
   ISymbolDefinitionVisitor.h \
   ISymbolVisitor.h \
   ISymbolizationVisitor.h \
-  IUsageVisitor.h \
   Image.h \
   ImageSymbol.h \
   Label.h \
@@ -160,7 +159,6 @@
   TextFrame.h \
   TextSymbol.h \
   UnicodeString.h \
-  Usage.h \
   Vector.h \
   VectorLayerDefinition.h \
   VectorScaleRange.h \

Modified: trunk/MgDev/Common/MdfModel/MdfModel.vcproj
===================================================================
--- trunk/MgDev/Common/MdfModel/MdfModel.vcproj	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/MdfModel.vcproj	2007-03-07 12:17:53 UTC (rev 1164)
@@ -236,10 +236,6 @@
 				>
 			</File>
 			<File
-				RelativePath=".\IUsageVisitor.h"
-				>
-			</File>
-			<File
 				RelativePath=".\LineUsage.cpp"
 				>
 			</File>
@@ -326,14 +322,6 @@
 				RelativePath=".\TextFrame.h"
 				>
 			</File>
-			<File
-				RelativePath=".\Usage.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Usage.h"
-				>
-			</File>
 		</Filter>
 		<Filter
 			Name="RasterLayer"

Modified: trunk/MgDev/Common/MdfModel/PointUsage.cpp
===================================================================
--- trunk/MgDev/Common/MdfModel/PointUsage.cpp	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/PointUsage.cpp	2007-03-07 12:17:53 UTC (rev 1164)
@@ -45,6 +45,24 @@
 // PURPOSE:
 // PARAMETERS:
 //-------------------------------------------------------------------------
+const MdfString& PointUsage::GetAngleControl() const
+{
+    return this->m_sAngleControl;
+}
+
+//-------------------------------------------------------------------------
+// PURPOSE:
+// PARAMETERS:
+//-------------------------------------------------------------------------
+void PointUsage::SetAngleControl(const MdfString& angleControl)
+{
+    this->m_sAngleControl = angleControl;
+}
+
+//-------------------------------------------------------------------------
+// PURPOSE:
+// PARAMETERS:
+//-------------------------------------------------------------------------
 const MdfString& PointUsage::GetAngle() const
 {
     return this->m_sAngle;
@@ -94,12 +112,3 @@
 {
     this->m_sOriginOffsetY = originOffsetY;
 }
-
-//-------------------------------------------------------------------------
-// PURPOSE:
-// PARAMETERS:
-//-------------------------------------------------------------------------
-void PointUsage::AcceptVisitor(IUsageVisitor& iuVisitor)
-{
-    iuVisitor.VisitPointUsage(*this);
-}

Modified: trunk/MgDev/Common/MdfModel/PointUsage.h
===================================================================
--- trunk/MgDev/Common/MdfModel/PointUsage.h	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/PointUsage.h	2007-03-07 12:17:53 UTC (rev 1164)
@@ -19,20 +19,23 @@
 #define POINTUSAGE_H_
 
 #include "MdfModel.h"
-#include "Usage.h"
+#include "MdfRootObject.h"
 
 BEGIN_NAMESPACE_MDFMODEL
 
     //-------------------------------------------------------------------------
     // DESCRIPTION:
     //-------------------------------------------------------------------------
-    class MDFMODEL_API PointUsage : public Usage
+    class MDFMODEL_API PointUsage : public MdfRootObject
     {
     public:
         // Construction, destruction, initialization
         PointUsage();
         virtual ~PointUsage();
 
+        const MdfString& GetAngleControl() const;
+        void SetAngleControl(const MdfString& angleControl);
+
         const MdfString& GetAngle() const;
         void SetAngle(const MdfString& angle);
 
@@ -42,14 +45,13 @@
         const MdfString& GetOriginOffsetY() const;
         void SetOriginOffsetY(const MdfString& originOffsetY);
 
-        virtual void AcceptVisitor(IUsageVisitor& iuVisitor);
-
      private:
         // Hidden copy constructor and assignment operator.
         PointUsage(const PointUsage&);
         PointUsage& operator=(const PointUsage&);
 
         // Data members
+        MdfString m_sAngleControl;
         MdfString m_sAngle;
         MdfString m_sOriginOffsetX;
         MdfString m_sOriginOffsetY;

Deleted: trunk/MgDev/Common/MdfModel/Usage.cpp
===================================================================
--- trunk/MgDev/Common/MdfModel/Usage.cpp	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/Usage.cpp	2007-03-07 12:17:53 UTC (rev 1164)
@@ -1,54 +0,0 @@
-//
-//  Copyright (C) 2007 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 "Usage.h"
-
-using namespace MDFMODEL_NAMESPACE;
-
-//-------------------------------------------------------------------------
-// PURPOSE:
-// PARAMETERS:
-//-------------------------------------------------------------------------
-Usage::Usage()
-{
-}
-
-//-------------------------------------------------------------------------
-// PURPOSE:
-// PARAMETERS:
-//-------------------------------------------------------------------------
-Usage::~Usage()
-{
-}
-
-//-------------------------------------------------------------------------
-// PURPOSE:
-// PARAMETERS:
-//-------------------------------------------------------------------------
-const MdfString& Usage::GetAngleControl() const
-{
-    return m_sAngleControl;
-}
-
-//-------------------------------------------------------------------------
-// PURPOSE:
-// PARAMETERS:
-//-------------------------------------------------------------------------
-void Usage::SetAngleControl(const MdfString& sControl)
-{
-    m_sAngleControl = sControl;
-}

Deleted: trunk/MgDev/Common/MdfModel/Usage.h
===================================================================
--- trunk/MgDev/Common/MdfModel/Usage.h	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/MdfModel/Usage.h	2007-03-07 12:17:53 UTC (rev 1164)
@@ -1,51 +0,0 @@
-//
-//  Copyright (C) 2007 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
-//
-
-#ifndef USAGE_H_
-#define USAGE_H_
-
-#include "MdfModel.h"
-#include "MdfRootObject.h"
-#include "IUsageVisitor.h"
-
-BEGIN_NAMESPACE_MDFMODEL
-
-    //-------------------------------------------------------------------------
-    // DESCRIPTION:
-    //-------------------------------------------------------------------------
-    class MDFMODEL_API Usage : public MdfRootObject
-    {
-    public:
-        // Destruction
-        virtual ~Usage();
-
-        const MdfString& GetAngleControl() const;
-        void SetAngleControl(const MdfString& sControl);
-
-        // Visitor Pattern method defined in Usage.
-        virtual void AcceptVisitor(IUsageVisitor& iuVisitor) = 0;
-
-    protected:
-        // Construction, initialization
-        // Default constructor is protected to make this class abstract.
-        Usage();
-
-        MdfString m_sAngleControl;
-    };
-
-END_NAMESPACE_MDFMODEL
-#endif // USAGE_H_

Modified: trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/Stylization/SE_StyleVisitor.cpp	2007-03-07 12:17:53 UTC (rev 1164)
@@ -52,44 +52,44 @@
     m_primitive = NULL;
 }
 
-void SE_StyleVisitor::VisitPointUsage(PointUsage& pntRpt)
+void SE_StyleVisitor::ProcessPointUsage(PointUsage& pointUsage)
 {
     SE_PointStyle* style = new SE_PointStyle();
     m_style = style;
-    ParseDoubleExpression(pntRpt.GetAngle(), style->angle);
-    ParseDoubleExpression(pntRpt.GetOriginOffsetX(), style->offset[0]);
-    ParseDoubleExpression(pntRpt.GetOriginOffsetY(), style->offset[1]);
-    ParseStringExpression(pntRpt.GetAngleControl(), style->orientation);
+    ParseDoubleExpression(pointUsage.GetAngle(), style->angle);
+    ParseDoubleExpression(pointUsage.GetOriginOffsetX(), style->offset[0]);
+    ParseDoubleExpression(pointUsage.GetOriginOffsetY(), style->offset[1]);
+    ParseStringExpression(pointUsage.GetAngleControl(), style->orientation);
 }
 
-void SE_StyleVisitor::VisitLineUsage(LineUsage& lnRpt)
+void SE_StyleVisitor::ProcessLineUsage(LineUsage& lineUsage)
 {
     SE_LineStyle* style = new SE_LineStyle();
     m_style = style;
-    ParseDoubleExpression(lnRpt.GetStartOffset(), style->startOffset);
-    ParseDoubleExpression(lnRpt.GetEndOffset(), style->endOffset);
-    ParseDoubleExpression(lnRpt.GetRepeat(), style->repeat);
-    ParseDoubleExpression(lnRpt.GetAngle(), style->angle);
-    ParseDoubleExpression(lnRpt.GetVertexAngleLimit(), style->angleLimit);
-    ParseStringExpression(lnRpt.GetUnitsControl(), style->units);
-    ParseStringExpression(lnRpt.GetAngleControl(), style->orientation);
-    ParseStringExpression(lnRpt.GetVertexControl(), style->overlap);
-    //ParseStringExpression(lnRpt.GetLineJoin(), style->join);
+    ParseDoubleExpression(lineUsage.GetStartOffset(), style->startOffset);
+    ParseDoubleExpression(lineUsage.GetEndOffset(), style->endOffset);
+    ParseDoubleExpression(lineUsage.GetRepeat(), style->repeat);
+    ParseDoubleExpression(lineUsage.GetAngle(), style->angle);
+    ParseDoubleExpression(lineUsage.GetVertexAngleLimit(), style->angleLimit);
+    ParseStringExpression(lineUsage.GetUnitsControl(), style->units);
+    ParseStringExpression(lineUsage.GetAngleControl(), style->orientation);
+    ParseStringExpression(lineUsage.GetVertexControl(), style->overlap);
+    //ParseStringExpression(lineUsage.GetLineJoin(), style->join);
 }
 
-void SE_StyleVisitor::VisitAreaUsage(AreaUsage& areaRpt)
+void SE_StyleVisitor::ProcessAreaUsage(AreaUsage& areaUsage)
 {
     SE_AreaStyle* style = new SE_AreaStyle();
     m_style = style;
-    ParseDoubleExpression(areaRpt.GetAngle(), style->angle);
-    ParseDoubleExpression(areaRpt.GetOriginX(), style->origin[0]);
-    ParseDoubleExpression(areaRpt.GetOriginY(), style->origin[1]);
-    ParseDoubleExpression(areaRpt.GetRepeatX(), style->repeat[0]);
-    ParseDoubleExpression(areaRpt.GetRepeatY(), style->repeat[1]);
-    ParseDoubleExpression(areaRpt.GetBufferWidth(), style->bufferWidth);
-    ParseStringExpression(areaRpt.GetAngleControl(), style->orientation);
-    ParseStringExpression(areaRpt.GetClippingControl(), style->clipping);
-    ParseStringExpression(areaRpt.GetOriginControl(), style->origincontrol);
+    ParseDoubleExpression(areaUsage.GetAngle(), style->angle);
+    ParseDoubleExpression(areaUsage.GetOriginX(), style->origin[0]);
+    ParseDoubleExpression(areaUsage.GetOriginY(), style->origin[1]);
+    ParseDoubleExpression(areaUsage.GetRepeatX(), style->repeat[0]);
+    ParseDoubleExpression(areaUsage.GetRepeatY(), style->repeat[1]);
+    ParseDoubleExpression(areaUsage.GetBufferWidth(), style->bufferWidth);
+    ParseStringExpression(areaUsage.GetAngleControl(), style->orientation);
+    ParseStringExpression(areaUsage.GetClippingControl(), style->clipping);
+    ParseStringExpression(areaUsage.GetOriginControl(), style->origincontrol);
 }
 
 bool SE_StyleVisitor::ParseDouble(const wchar_t*& str, double& val)
@@ -493,17 +493,20 @@
 
     // TODO - We need a hint that says what feature geometry type we're
     //        working with, so that we can get the relevant usage.  For
-    //        just keep the first non-NULL usage we find.
-    Usage* usage = simpleSymbol.GetPointUsage();
-    if (usage == NULL)
-        usage = simpleSymbol.GetLineUsage();
-    if (usage == NULL)
-        usage = simpleSymbol.GetAreaUsage();
-    if (usage == NULL)
+    //        now just keep the first non-NULL usage we find.
+    PointUsage* pointUsage = simpleSymbol.GetPointUsage();
+    LineUsage* lineUsage = simpleSymbol.GetLineUsage();
+    AreaUsage* areaUsage = simpleSymbol.GetAreaUsage();
+
+    if (pointUsage != NULL)
+        this->ProcessPointUsage(*pointUsage);
+    else if (lineUsage != NULL)
+        this->ProcessLineUsage(*lineUsage);
+    else if (areaUsage != NULL)
+        this->ProcessAreaUsage(*areaUsage);
+    else
         return;
 
-    usage->AcceptVisitor(*this);
-
     GraphicElementCollection* graphics = simpleSymbol.GetGraphics();
 
     int count = graphics->GetCount();

Modified: trunk/MgDev/Common/Stylization/SE_StyleVisitor.h
===================================================================
--- trunk/MgDev/Common/Stylization/SE_StyleVisitor.h	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/Stylization/SE_StyleVisitor.h	2007-03-07 12:17:53 UTC (rev 1164)
@@ -19,7 +19,6 @@
 #define SE_STYLEVISITOR_H
 
 #include "SE_ExpressionBase.h"
-#include "IUsageVisitor.h"
 #include "IGraphicElementVisitor.h"
 #include "ISymbolDefinitionVisitor.h"
 
@@ -40,16 +39,11 @@
     class CompoundSymbolDefinition;
 }
 
-class SE_StyleVisitor : public MdfModel::IUsageVisitor, public MdfModel::IGraphicElementVisitor, public MdfModel::ISymbolDefinitionVisitor, private SE_ExpressionBase
+class SE_StyleVisitor : public MdfModel::IGraphicElementVisitor, public MdfModel::ISymbolDefinitionVisitor, private SE_ExpressionBase
 {
 public:
     SE_StyleVisitor(SE_SymbolManager* resources, SE_LineBufferPool* lbp);
 
-    /* IUsageVisitor */
-    virtual void VisitPointUsage(MdfModel::PointUsage& pntRpt);
-    virtual void VisitLineUsage(MdfModel::LineUsage& lnRpt);
-    virtual void VisitAreaUsage(MdfModel::AreaUsage& areaRpt);
-
     /* IGraphicElementVisitor */
     virtual void VisitPath(MdfModel::Path& path);
     virtual void VisitImage(MdfModel::Image&);
@@ -59,6 +53,10 @@
     virtual void VisitSimpleSymbolDefinition(MdfModel::SimpleSymbolDefinition& simpleSymbol);
     virtual void VisitCompoundSymbolDefinition(MdfModel::CompoundSymbolDefinition& compoundSymbol);
 
+    void ProcessPointUsage(MdfModel::PointUsage& pointUsage);
+    void ProcessLineUsage(MdfModel::LineUsage& lineUsage);
+    void ProcessAreaUsage(MdfModel::AreaUsage& areaUsage);
+
     void Convert(std::vector<SE_Symbolization*>& styles, MdfModel::CompositeSymbolization* symbolization);
 private:
     SE_Style* ParseSymbol(MdfModel::CompoundSymbolDefinition* symbol);

Modified: trunk/MgDev/Common/Stylization/Stylization.h
===================================================================
--- trunk/MgDev/Common/Stylization/Stylization.h	2007-03-07 05:23:02 UTC (rev 1163)
+++ trunk/MgDev/Common/Stylization/Stylization.h	2007-03-07 12:17:53 UTC (rev 1164)
@@ -71,7 +71,6 @@
 #include "SimpleSymbolDefinition.h"
 #include "CompoundSymbolDefinition.h"
 #include "ISymbolVisitor.h"
-#include "IUsageVisitor.h"
 #include "ISymbolDefinitionVisitor.h"
 #include "IGraphicElementVisitor.h"
 #include "CompositeSymbolization.h"



More information about the mapguide-commits mailing list