15#ifndef QGSMERGEDFEATURERENDERER_H
16#define QGSMERGEDFEATURERENDERER_H
79 QString dump() const override;
80 QSet<QString> usedAttributes( const
QgsRenderContext &context ) const override;
81 bool filterNeedsGeometry() const override;
89 QString legendKeyToExpression( const QString &key,
QgsVectorLayer *layer,
bool &ok ) const override;
95 void setLegendSymbolItem( const QString &key,
QgsSymbol *symbol ) override;
96 bool legendSymbolItemsCheckable() const override;
97 bool legendSymbolItemChecked( const QString &key ) override;
98 void checkLegendSymbolItem( const QString &key,
bool state = true ) override;
135 struct CombinedFeature
137 QVector<QgsGeometry> geometries;
140 typedef QVector<CombinedFeature> FeatureCategoryVector;
142 FeatureCategoryVector mFeaturesCategories;
145 QMap<QByteArray, int> mSymbolCategories;
160 struct FeatureDecoration
166 FeatureDecoration(
const QgsFeature &a_feature,
bool a_selected,
bool a_drawMarkers,
int a_layer )
167 : feature( a_feature )
168 , selected( a_selected )
169 , drawMarkers( a_drawMarkers )
173 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...
QgsMergedFeatureRenderer & operator=(const QgsMergedFeatureRenderer &)=delete
Direct copies are forbidden. Use clone() instead.
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.
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.
Represents a vector layer which manages a vector based data sets.
#define SIP_THROW(name,...)
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