[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