16 #ifndef QGSVECTORTILERENDERER_H
17 #define QGSVECTORTILERENDERER_H
19 #include "qgis_core.h"
52 void setFields(
const QMap<QString, QgsFields> &fields ) { mFields = fields; }
54 QMap<QString, QgsFields>
fields()
const {
return mFields; }
61 QStringList
layers()
const {
return mFeatures.keys(); }
63 QVector<QgsFeature>
layerFeatures(
const QString &layerName )
const {
return mFeatures[layerName]; }
69 QMap<QString, QgsFields> mFields;
73 QPolygon mTilePolygon;
94 const QString type = sipCpp->type();
96 if ( type == QLatin1String(
"basic" ) )
97 sipType = sipType_QgsVectorTileBasicRenderer;
107 virtual QString
type()
const = 0;
129 virtual QSet< QString >
requiredLayers(
QgsRenderContext &context,
int tileZoom )
const { Q_UNUSED( context ); Q_UNUSED( tileZoom );
return QSet< QString >() << QString(); }
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
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.
Range of tiles in a tile matrix to be rendered.
Stores coordinates of a tile in a tile matrix set.
Contains decoded features of a single vector tile and any other data necessary for rendering of it.
void setFields(const QMap< QString, QgsFields > &fields)
Sets per-layer fields.
QPolygon tilePolygon() const
Returns polygon (made out of four corners of the tile) in screen coordinates calculated from render c...
QgsVectorTileRendererData(QgsTileXYZ id)
Constructs the object.
void setTilePolygon(QPolygon polygon)
Sets polygon of the tile.
QVector< QgsFeature > layerFeatures(const QString &layerName) const
Returns list of all features within a single sub-layer.
QgsVectorTileFeatures features() const
Returns features of the tile grouped by sub-layer names.
QStringList layers() const
Returns list of layer names present in the tile.
void setFeatures(const QgsVectorTileFeatures &features)
Sets features of the tile.
QMap< QString, QgsFields > fields() const
Returns per-layer fields.
QgsTileXYZ id() const
Returns coordinates of the tile.
Abstract base class for all vector tile renderer implementations.
virtual void readXml(const QDomElement &elem, const QgsReadWriteContext &context)=0
Reads renderer's properties from given XML element.
virtual void resolveReferences(const QgsProject &project)
Resolves references to other objects - second phase of loading - after readXml()
virtual QgsVectorTileRenderer * clone() const =0
Returns a clone of the renderer.
virtual QSet< QString > requiredLayers(QgsRenderContext &context, int tileZoom) const
Returns a list of the layers required for rendering.
virtual QMap< QString, QSet< QString > > usedAttributes(const QgsRenderContext &)
Returns field names of sub-layers that will be used for rendering. Must be called between startRender...
virtual QString type() const =0
Returns unique type name of the renderer implementation.
virtual void writeXml(QDomElement &elem, const QgsReadWriteContext &context) const =0
Writes renderer's properties to given XML element.
virtual void renderTile(const QgsVectorTileRendererData &tile, QgsRenderContext &context)=0
Renders given vector tile. Must be called between startRender/stopRender.
virtual void stopRender(QgsRenderContext &context)=0
Finishes rendering and cleans up any resources.
virtual ~QgsVectorTileRenderer()=default
virtual void startRender(QgsRenderContext &context, int tileZoom, const QgsTileRange &tileRange)=0
Initializes rendering. It should be paired with a stopRender() call.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
QMap< QString, QVector< QgsFeature > > QgsVectorTileFeatures
Features of a vector tile, grouped by sub-layer names (key of the map)