16#ifndef QGSVECTORTILEBASICRENDERER_H
17#define QGSVECTORTILEBASICRENDERER_H
100 return mEnabled && ( mMinZoomLevel == -1 || zoomLevel >= mMinZoomLevel ) && ( mMaxZoomLevel == -1 || zoomLevel <= mMaxZoomLevel );
112 std::unique_ptr<QgsSymbol> mSymbol;
113 bool mEnabled =
true;
115 int mMinZoomLevel = -1;
116 int mMaxZoomLevel = -1;
133 QString type()
const override;
137 QSet< QString > requiredLayers(
QgsRenderContext &context,
int tileZoom )
const override;
140 void renderSelectedFeatures(
const QList< QgsFeature > &selection,
QgsRenderContext &context )
override;
141 bool willRenderFeature(
const QgsFeature &feature,
int tileZoom,
const QString &layerName,
QgsRenderContext &context )
override;
146 void setStyles(
const QList<QgsVectorTileBasicRendererStyle> &styles );
148 QList<QgsVectorTileBasicRendererStyle> styles()
const;
155 static QList<QgsVectorTileBasicRendererStyle> simpleStyle(
156 const QColor &polygonFillColor,
const QColor &polygonStrokeColor,
double polygonStrokeWidth,
157 const QColor &lineStrokeColor,
double lineStrokeWidth,
158 const QColor &pointFillColor,
const QColor &pointStrokeColor,
double pointSize );
161 static QList<QgsVectorTileBasicRendererStyle> simpleStyleWithRandomColors();
164 void setDefaultStyle();
168 QList<QgsVectorTileBasicRendererStyle> mStyles;
173 QMap<QString, QSet<QString> > mRequiredFields;
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
A line symbol type, for rendering LineString and MultiLineString geometries.
A marker symbol type, for rendering Point and MultiPoint geometries.
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.
Abstract base class for all rendered symbols.
Range of tiles in a tile matrix to be rendered.
Definition of map rendering of a subset of vector tile data.
~QgsVectorTileBasicRendererStyle()
void setEnabled(bool enabled)
Sets whether this style is enabled (used for rendering)
void setMinZoomLevel(int minZoom)
Sets minimum zoom level index (negative number means no limit)
void setLayerName(const QString &name)
Sets name of the sub-layer to render (empty layer means that all layers match)
void setGeometryType(QgsWkbTypes::GeometryType geomType)
Sets type of the geometry that will be used (point / line / polygon)
QgsSymbol * symbol() const
Returns symbol for rendering.
QString filterExpression() const
Returns filter expression (empty filter means that all features match)
QString styleName() const
Returns human readable name of this style.
void setFilterExpression(const QString &expr)
Sets filter expression (empty filter means that all features match)
void setStyleName(const QString &name)
Sets human readable name of this style.
QgsWkbTypes::GeometryType geometryType() const
Returns type of the geometry that will be used (point / line / polygon)
bool isEnabled() const
Returns whether this style is enabled (used for rendering)
void setMaxZoomLevel(int maxZoom)
Sets maximum zoom level index (negative number means no limit)
int minZoomLevel() const
Returns minimum zoom level index (negative number means no limit)
int maxZoomLevel() const
Returns maxnimum zoom level index (negative number means no limit)
QString layerName() const
Returns name of the sub-layer to render (empty layer means that all layers match)
bool isActive(int zoomLevel) const
Returns whether the style is active at given zoom level (also checks "enabled" flag)
The default vector tile renderer implementation.
void setStyle(int index, const QgsVectorTileBasicRendererStyle &style)
Updates style definition at the paricular index of the list (the index must be in interval [0,...
QgsVectorTileBasicRendererStyle style(int index) const
Returns style definition at the particular index.
Contains decoded features of a single vector tile and any other data necessary for rendering of it.
Abstract base class for all vector tile renderer implementations.
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.