[mapguide-commits] r9585 - trunk/MgDev/Common/Stylization

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Jul 26 08:31:15 PDT 2019


Author: jng
Date: 2019-07-26 08:31:15 -0700 (Fri, 26 Jul 2019)
New Revision: 9585

Modified:
   trunk/MgDev/Common/Stylization/DefaultStylizer.cpp
   trunk/MgDev/Common/Stylization/DefaultStylizer.h
   trunk/MgDev/Common/Stylization/StylizationEngine.cpp
   trunk/MgDev/Common/Stylization/StylizationEngine.h
   trunk/MgDev/Common/Stylization/Stylizer.h
Log:
Have Stylizer::StylizeVectorLayer() return int instead of void for better debuggability.

Fixes #2051

Modified: trunk/MgDev/Common/Stylization/DefaultStylizer.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/DefaultStylizer.cpp	2019-07-26 15:05:19 UTC (rev 9584)
+++ trunk/MgDev/Common/Stylization/DefaultStylizer.cpp	2019-07-26 15:31:15 UTC (rev 9585)
@@ -60,14 +60,15 @@
 
 
 //////////////////////////////////////////////////////////////////////////////
-void DefaultStylizer::StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
-                                         Renderer*                        renderer,
-                                         RS_FeatureReader*                features,
-                                         CSysTransformer*                 xformer,
-                                         double                           mapScale,
-                                         CancelStylization                cancel,
-                                         void*                            userData)
+int DefaultStylizer::StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
+                                        Renderer*                        renderer,
+                                        RS_FeatureReader*                features,
+                                        CSysTransformer*                 xformer,
+                                        double                           mapScale,
+                                        CancelStylization                cancel,
+                                        void*                            userData)
 {
+    int total = 0;
     // look through the scale ranges to find a valid one
     // the first one that contains the given scale will be used
     MdfModel::VectorScaleRangeCollection* scaleRanges = layer->GetScaleRanges();
@@ -75,7 +76,7 @@
 
     // no range -- do not stylize
     if (NULL == scaleRange)
-        return;
+        return 0;
 
     // we have a valid scale range... we can now go over the
     // features and apply the feature styles in that range
@@ -101,7 +102,7 @@
     // composite type styles are handled by the new style engine
     if (foundComposite)
     {
-        m_styleEngine->StylizeVectorLayer(layer, scaleRange, (SE_Renderer*)renderer, features, xformer, cancel, userData);
+        total = m_styleEngine->StylizeVectorLayer(layer, scaleRange, (SE_Renderer*)renderer, features, xformer, cancel, userData);
     }
     else
     {
@@ -222,6 +223,8 @@
         #ifdef _DEBUG
         printf("  DefaultStylizer::StylizeVectorLayer() Layer: %S  Features: %d\n", layer->GetFeatureName().c_str(), nFeatures);
         #endif
+
+        total = nFeatures;
     }
 
     // need to get rid of these since they cache per layer theming
@@ -228,6 +231,8 @@
     // information which may conflict with the next layer
     ClearAdapters();
     m_styleEngine->ClearCache();
+
+    return total;
 }
 
 

Modified: trunk/MgDev/Common/Stylization/DefaultStylizer.h
===================================================================
--- trunk/MgDev/Common/Stylization/DefaultStylizer.h	2019-07-26 15:05:19 UTC (rev 9584)
+++ trunk/MgDev/Common/Stylization/DefaultStylizer.h	2019-07-26 15:31:15 UTC (rev 9585)
@@ -37,13 +37,13 @@
 
     STYLIZATION_API SE_SymbolManager* GetSymbolManager();
 
-    STYLIZATION_API virtual void StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
-                                                    Renderer*                        renderer,
-                                                    RS_FeatureReader*                features,
-                                                    CSysTransformer*                 xformer,
-                                                    double                           mapScale,
-                                                    CancelStylization                cancel,
-                                                    void*                            userData);
+    STYLIZATION_API virtual int StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
+                                                   Renderer*                        renderer,
+                                                   RS_FeatureReader*                features,
+                                                   CSysTransformer*                 xformer,
+                                                   double                           mapScale,
+                                                   CancelStylization                cancel,
+                                                   void*                            userData);
 
     STYLIZATION_API virtual void StylizeGridLayer(MdfModel::GridLayerDefinition* layer,
                                                   Renderer*                      renderer,

Modified: trunk/MgDev/Common/Stylization/StylizationEngine.cpp
===================================================================
--- trunk/MgDev/Common/Stylization/StylizationEngine.cpp	2019-07-26 15:05:19 UTC (rev 9584)
+++ trunk/MgDev/Common/Stylization/StylizationEngine.cpp	2019-07-26 15:31:15 UTC (rev 9585)
@@ -55,16 +55,16 @@
 
 // TODO: Stylize one CompoundSymbol feature and label per run; investigate caching
 //       possibilities to avoid filter execution on subsequent passes
-void StylizationEngine::StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
-                                           MdfModel::VectorScaleRange*      range,
-                                           SE_Renderer*                     se_renderer,
-                                           RS_FeatureReader*                reader,
-                                           CSysTransformer*                 xformer,
-                                           CancelStylization                cancel,
-                                           void*                            userData)
+int StylizationEngine::StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
+                                          MdfModel::VectorScaleRange*      range,
+                                          SE_Renderer*                     se_renderer,
+                                          RS_FeatureReader*                reader,
+                                          CSysTransformer*                 xformer,
+                                          CancelStylization                cancel,
+                                          void*                            userData)
 {
     if (reader == NULL)
-        return;
+        return 0;
 
     m_serenderer = se_renderer;
     m_reader = reader;
@@ -72,7 +72,7 @@
     // get the geometry column name
     const wchar_t* gpName = reader->GetGeomPropName();
     if (NULL == gpName)
-        return;
+        return 0;
 
     double drawingScale = m_serenderer->GetDrawingScale();
 
@@ -97,7 +97,7 @@
     size_t numTypeStyles = compTypeStyles.size();
     _ASSERT(numTypeStyles > 0);
     if (numTypeStyles == 0)
-        return;
+        return 0;
 
     // ignore Z values if the renderer doesn't need them
     bool ignoreZ = !se_renderer->SupportsZ();
@@ -107,10 +107,7 @@
     int symbolRenderingPass = 0;
     int nextInstanceRenderingPass = -1;
     int nextSymbolRenderingPass = -1;
-
-    #ifdef _DEBUG
     int nFeatures = 0;
-    #endif
 
     // main loop over feature data
     int numPasses = 0;
@@ -201,6 +198,8 @@
     #ifdef _DEBUG
     printf("  StylizationEngine::StylizeVectorLayer() Layer: %S  Features: %d\n", layer->GetFeatureName().c_str(), nFeatures);
     #endif
+
+    return nFeatures;
 }
 
 

Modified: trunk/MgDev/Common/Stylization/StylizationEngine.h
===================================================================
--- trunk/MgDev/Common/Stylization/StylizationEngine.h	2019-07-26 15:05:19 UTC (rev 9584)
+++ trunk/MgDev/Common/Stylization/StylizationEngine.h	2019-07-26 15:31:15 UTC (rev 9585)
@@ -61,13 +61,13 @@
     ~StylizationEngine();
 
     // Stylizes the supplied layer using all composite type styles in the given scale.
-    void StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
-                            MdfModel::VectorScaleRange*      range,
-                            SE_Renderer*                     se_renderer,
-                            RS_FeatureReader*                reader,
-                            CSysTransformer*                 xformer,
-                            CancelStylization                cancel,
-                            void*                            userData);
+    int StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
+                           MdfModel::VectorScaleRange*      range,
+                           SE_Renderer*                     se_renderer,
+                           RS_FeatureReader*                reader,
+                           CSysTransformer*                 xformer,
+                           CancelStylization                cancel,
+                           void*                            userData);
 
     //Stylize the supplied watermark
     void StylizeWatermark(SE_Renderer* se_renderer,

Modified: trunk/MgDev/Common/Stylization/Stylizer.h
===================================================================
--- trunk/MgDev/Common/Stylization/Stylizer.h	2019-07-26 15:05:19 UTC (rev 9584)
+++ trunk/MgDev/Common/Stylization/Stylizer.h	2019-07-26 15:31:15 UTC (rev 9585)
@@ -45,13 +45,13 @@
     /// Stylizes a feature/vector (FDO-based) layer.
     /// The supplied map scale is used only for stylization.
     ///</summary>
-    virtual void StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
-                                    Renderer*                        renderer,
-                                    RS_FeatureReader*                features,
-                                    CSysTransformer*                 xformer,
-                                    double                           mapScale,
-                                    CancelStylization                cancel,
-                                    void*                            userData) = 0;
+    virtual int StylizeVectorLayer(MdfModel::VectorLayerDefinition* layer,
+                                   Renderer*                        renderer,
+                                   RS_FeatureReader*                features,
+                                   CSysTransformer*                 xformer,
+                                   double                           mapScale,
+                                   CancelStylization                cancel,
+                                   void*                            userData) = 0;
 
     ///<summary>
     /// Stylizes a grid/raster layer.



More information about the mapguide-commits mailing list