QgsPointClusterRenderer class

A renderer that automatically clusters points with the same geographic position.

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.