QgsPointClusterRenderer class
A renderer that automatically clusters points with the same geographic position.
Contents
Base classes
- class QgsPointDistanceRenderer
- An abstract base class for distance based point renderers (e.g., clusterer and displacement renderers).
Public static functions
- static auto convertFromRenderer(const QgsFeatureRenderer* renderer) -> QgsPointClusterRenderer*
- Creates a QgsPointClusterRenderer from an existing renderer.
- static auto create(QDomElement& symbologyElem, const QgsReadWriteContext& context) -> QgsFeatureRenderer*
- Creates a renderer from XML element.
Public functions
- auto clone() const -> QgsPointClusterRenderer* override
- Create a deep copy of this renderer.
- auto clusterSymbol() -> QgsMarkerSymbol*
- Returns the symbol used for rendering clustered groups (but not ownership of the symbol).
- auto save(QDomDocument& doc, const QgsReadWriteContext& context) -> QDomElement override
- store renderer info to XML element
- void setClusterSymbol(QgsMarkerSymbol* symbol)
- Sets the symbol for rendering clustered groups.
- void startRender(QgsRenderContext& context, const QgsFields& fields) override
- Must be called when a new render cycle is started.
- void stopRender(QgsRenderContext& context) override
- Must be called when a render cycle has finished, to allow the renderer to clean up.
- auto usedAttributes(const QgsRenderContext& context) const -> QSet<QString> override
- Returns a list of attributes required by this renderer.
Function documentation
static QgsPointClusterRenderer* QgsPointClusterRenderer:: convertFromRenderer(const QgsFeatureRenderer* renderer)
Creates a QgsPointClusterRenderer from an existing renderer.
| Returns | a new renderer if the conversion was possible, otherwise nullptr. |
|---|
QgsPointClusterRenderer* QgsPointClusterRenderer:: clone() const override
Create a deep copy of this renderer.
| Returns | A copy of this renderer |
|---|
Should be implemented by all subclasses and generate a proper subclass.
QgsMarkerSymbol* QgsPointClusterRenderer:: clusterSymbol()
Returns the symbol used for rendering clustered groups (but not ownership of the symbol).
void QgsPointClusterRenderer:: setClusterSymbol(QgsMarkerSymbol* symbol)
Sets the symbol for rendering clustered groups.
| Parameters | |
|---|---|
| symbol | new cluster symbol. Ownership is transferred to the renderer. |
void QgsPointClusterRenderer:: startRender(QgsRenderContext& context,
const QgsFields& fields) override
Must be called when a new render cycle is started.
| Parameters | |
|---|---|
| context | Additional information passed to the renderer about the job which will be rendered |
| fields | The fields available for rendering |
A call to startRender() must always be followed by a corresponding call to stopRender() after all features have been rendered.
void QgsPointClusterRenderer:: stopRender(QgsRenderContext& context) override
Must be called when a render cycle has finished, to allow the renderer to clean up.
Calls to stopRender() must always be preceded by a call to startRender().
QSet<QString> QgsPointClusterRenderer:: usedAttributes(const QgsRenderContext& context) const override
Returns a list of attributes required by this renderer.
| Returns | A set of attributes |
|---|
Attributes not listed in here may not have been requested from the provider at rendering time.