15 #ifndef QGSMERGEDFEATURERENDERER_H
16 #define QGSMERGEDFEATURERENDERER_H
18 #include "qgis_core.h"
79 QString dump() const override;
80 QSet<QString> usedAttributes( const
QgsRenderContext &context ) const override;
81 bool filterNeedsGeometry() const override;
94 void setLegendSymbolItem( const QString &key,
QgsSymbol *symbol ) override;
95 bool legendSymbolItemsCheckable() const override;
96 bool legendSymbolItemChecked( const QString &key ) override;
97 void checkLegendSymbolItem( const QString &key,
bool state = true ) override;
134 struct CombinedFeature
136 QVector<QgsGeometry> geometries;
139 typedef QVector<CombinedFeature> FeatureCategoryVector;
141 FeatureCategoryVector mFeaturesCategories;
144 QMap<QByteArray, int> mSymbolCategories;
159 struct FeatureDecoration
165 FeatureDecoration(
const QgsFeature &a_feature,
bool a_selected,
bool a_drawMarkers,
int a_layer )
166 : feature( a_feature )
167 , selected( a_selected )
168 , drawMarkers( a_drawMarkers )
172 QList<FeatureDecoration> mFeatureDecorations;
Custom exception class for Coordinate Reference System related exceptions.
virtual QgsFeatureRenderer * clone() const =0
Create a deep copy of this renderer.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Container of fields for a vector layer.
QgsMergedFeatureRenderer is a polygon or line-only feature renderer used to renderer a set of feature...
GeometryOperation
Operations to apply to collected geometries prior to rendering.
@ Merge
Merge features (union/dissolve)
@ InvertOnly
Invert features only (polygons only)
@ MergeAndInvert
Merge and invert features (polygons only)
QgsMergedFeatureRenderer(const QgsMergedFeatureRenderer &)=delete
Direct copies are forbidden. Use clone() instead.
std::unique_ptr< QgsFeatureRenderer > mSubRenderer
Embedded renderer.
QgsMergedFeatureRenderer & operator=(const QgsMergedFeatureRenderer &)=delete
Direct copies are forbidden. Use clone() instead.
The class is used as a container of context for various read/write operations on other objects.
Contains information about the context of a rendering operation.
An interface for classes which can visit style entity (e.g.
Abstract base class for all rendered symbols.
QVector< QgsPolylineXY > QgsPolygonXY
Polygon: first item of the list is outer ring, inner rings (if any) start from second item.
QList< QgsLegendSymbolItem > QgsLegendSymbolList
QList< QgsSymbol * > QgsSymbolList