QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
Public Member Functions | Static Public Member Functions | List of all members
QgsPointCloudClassifiedRenderer Class Reference

Renders point clouds by a classification attribute. More...

#include <qgspointcloudclassifiedrenderer.h>

Inheritance diagram for QgsPointCloudClassifiedRenderer:
Inheritance graph
[legend]

Public Member Functions

 QgsPointCloudClassifiedRenderer (const QString &attributeName=QString(), const QgsPointCloudCategoryList &categories=QgsPointCloudCategoryList())
 Constructor for QgsPointCloudClassifiedRenderer. More...
 
void addCategory (const QgsPointCloudCategory &category)
 Adds a category to the renderer. More...
 
QString attribute () const
 Returns the attribute to use for the renderer. More...
 
QgsPointCloudCategoryList categories () const
 Returns the classification categories used for rendering. More...
 
void checkLegendItem (const QString &key, bool state=true) override
 Called when the check state of the legend item with the specified key is changed. More...
 
QgsPointCloudRendererclone () const override
 Create a deep copy of this renderer. More...
 
QList< QgsLayerTreeModelLegendNode * > createLegendNodes (QgsLayerTreeLayer *nodeLayer) override
 Creates a set of legend nodes representing the renderer. More...
 
bool legendItemChecked (const QString &key) override
 Returns true if the legend item with the specified key is checked. More...
 
QStringList legendRuleKeys () const override
 Returns a list of all rule keys for legend nodes created by the renderer. More...
 
std::unique_ptr< QgsPreparedPointCloudRendererDataprepare () override
 Returns prepared data container for bulk point color retrieval. More...
 
void renderBlock (const QgsPointCloudBlock *block, QgsPointCloudRenderContext &context) override
 Renders a block of point cloud data using the specified render context. More...
 
QDomElement save (QDomDocument &doc, const QgsReadWriteContext &context) const override
 Saves the renderer configuration to an XML element. More...
 
void setAttribute (const QString &attribute)
 Sets the attribute to use for the renderer. More...
 
void setCategories (const QgsPointCloudCategoryList &categories)
 Sets the classification categories used for rendering. More...
 
QString type () const override
 Returns the identifier of the renderer type. More...
 
QSet< QString > usedAttributes (const QgsPointCloudRenderContext &context) const override
 Returns a list of attributes required by this renderer. More...
 
bool willRenderPoint (const QVariantMap &pointAttributes) override
 
- Public Member Functions inherited from QgsPointCloudRenderer
 QgsPointCloudRenderer ()=default
 Constructor for QgsPointCloudRenderer. More...
 
 QgsPointCloudRenderer (const QgsPointCloudRenderer &other)=delete
 QgsPointCloudRenderer cannot be copied – use clone() instead. More...
 
virtual ~QgsPointCloudRenderer ()=default
 
virtual void checkLegendItem (const QString &key, bool state=true)
 Called when the check state of the legend item with the specified key is changed. More...
 
virtual QgsPointCloudRendererclone () const =0
 Create a deep copy of this renderer. More...
 
virtual QList< QgsLayerTreeModelLegendNode * > createLegendNodes (QgsLayerTreeLayer *nodeLayer)
 Creates a set of legend nodes representing the renderer. More...
 
Qgis::PointCloudDrawOrder drawOrder2d () const
 Returns the drawing order used by the renderer for drawing points. More...
 
double eyeDomeLightingDistance () const
 Returns the eye dome lighting distance. More...
 
QgsUnitTypes::RenderUnit eyeDomeLightingDistanceUnit () const
 Returns unit for the eye dome lighting distance. More...
 
bool eyeDomeLightingEnabled () const
 Returns whether eye dome lighting effect will be used. More...
 
double eyeDomeLightingStrength () const
 Returns the eye dome lighting strength value. More...
 
QVector< QVariantMap > identify (QgsPointCloudLayer *layer, const QgsRenderContext &context, const QgsGeometry &geometry, double toleranceForPointIdentification=0)
 Returns the list of visible points of the point cloud layer layer and an extent defined by a geometry in the 2D plane geometry. More...
 
virtual bool legendItemChecked (const QString &key)
 Returns true if the legend item with the specified key is checked. More...
 
virtual QStringList legendRuleKeys () const
 Returns a list of all rule keys for legend nodes created by the renderer. More...
 
double maximumScreenError () const
 Returns the maximum screen error allowed when rendering the point cloud. More...
 
QgsUnitTypes::RenderUnit maximumScreenErrorUnit () const
 Returns the unit for the maximum screen error allowed when rendering the point cloud. More...
 
QgsPointCloudRendereroperator= (const QgsPointCloudRenderer &other)=delete
 QgsPointCloudRenderer cannot be copied – use clone() instead. More...
 
double pointSize () const
 Returns the point size. More...
 
const QgsMapUnitScalepointSizeMapUnitScale () const
 Returns the map unit scale used for the point size. More...
 
QgsUnitTypes::RenderUnit pointSizeUnit () const
 Returns the units used for the point size. More...
 
Qgis::PointCloudSymbol pointSymbol () const
 Returns the symbol used by the renderer for drawing points. More...
 
virtual std::unique_ptr< QgsPreparedPointCloudRendererDataprepare ()
 Returns prepared data container for bulk point color retrieval. More...
 
virtual void renderBlock (const QgsPointCloudBlock *block, QgsPointCloudRenderContext &context)=0
 Renders a block of point cloud data using the specified render context. More...
 
virtual QDomElement save (QDomDocument &doc, const QgsReadWriteContext &context) const =0
 Saves the renderer configuration to an XML element. More...
 
void setDrawOrder2d (Qgis::PointCloudDrawOrder order)
 Sets the drawing order used by the renderer for drawing points. More...
 
void setEyeDomeLightingDistance (double distance)
 Sets the eye dome lighting distance. More...
 
void setEyeDomeLightingDistanceUnit (QgsUnitTypes::RenderUnit unit)
 Sets unit for the eye dome lighting distance. More...
 
void setEyeDomeLightingEnabled (bool enabled)
 Sets whether eye dome lighting effect will be used. More...
 
void setEyeDomeLightingStrength (double strength)
 Sets the eye dome lighting strength value. More...
 
void setMaximumScreenError (double error)
 Sets the maximum screen error allowed when rendering the point cloud. More...
 
void setMaximumScreenErrorUnit (QgsUnitTypes::RenderUnit unit)
 Sets the unit for the maximum screen error allowed when rendering the point cloud. More...
 
void setPointSize (double size)
 Sets the point size. More...
 
void setPointSizeMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale used for the point size. More...
 
void setPointSizeUnit (const QgsUnitTypes::RenderUnit units)
 Sets the units used for the point size. More...
 
void setPointSymbol (Qgis::PointCloudSymbol symbol)
 Sets the symbol used by the renderer for drawing points. More...
 
virtual void startRender (QgsPointCloudRenderContext &context)
 Must be called when a new render cycle is started. More...
 
virtual void stopRender (QgsPointCloudRenderContext &context)
 Must be called when a render cycle has finished, to allow the renderer to clean up. More...
 
virtual QString type () const =0
 Returns the identifier of the renderer type. More...
 
virtual QSet< QString > usedAttributes (const QgsPointCloudRenderContext &context) const
 Returns a list of attributes required by this renderer. More...
 
virtual bool willRenderPoint (const QMap< QString, QVariant > &pointAttributes)
 Checks whether the point holding pointAttributes attributes will be rendered By default if not overridden in the subclass renderer will return true ( the renderer is responsible for the filtering behavior ) More...
 

Static Public Member Functions

static QgsPointCloudRenderercreate (QDomElement &element, const QgsReadWriteContext &context)
 Creates an RGB renderer from an XML element. More...
 
static QgsPointCloudCategoryList defaultCategories ()
 Returns the default list of categories. More...
 
- Static Public Member Functions inherited from QgsPointCloudRenderer
static QgsPointCloudRendererload (QDomElement &element, const QgsReadWriteContext &context)
 Creates a renderer from an XML element. More...
 

Additional Inherited Members

- Protected Member Functions inherited from QgsPointCloudRenderer
void copyCommonProperties (QgsPointCloudRenderer *destination) const
 Copies common point cloud properties (such as point size and screen error) to the destination renderer. More...
 
void drawPoint (double x, double y, const QColor &color, QgsPointCloudRenderContext &context) const
 Draws a point using a color at the specified x and y (in map coordinates). More...
 
void drawPointToElevationMap (double x, double y, double z, QgsPointCloudRenderContext &context) const
 Draws a point at the elevation z using at the specified x and y (in map coordinates) on the elevation map. More...
 
void restoreCommonProperties (const QDomElement &element, const QgsReadWriteContext &context)
 Restores common renderer properties (such as point size and screen error) from the specified DOM element. More...
 
void saveCommonProperties (QDomElement &element, const QgsReadWriteContext &context) const
 Saves common renderer properties (such as point size and screen error) to the specified DOM element. More...
 
- Static Protected Member Functions inherited from QgsPointCloudRenderer
static void pointXY (QgsPointCloudRenderContext &context, const char *ptr, int i, double &x, double &y)
 Retrieves the x and y coordinate for the point at index i. More...
 
static double pointZ (QgsPointCloudRenderContext &context, const char *ptr, int i)
 Retrieves the z value for the point at index i. More...
 

Detailed Description

Renders point clouds by a classification attribute.

Since
QGIS 3.18

Definition at line 149 of file qgspointcloudclassifiedrenderer.h.

Constructor & Destructor Documentation

◆ QgsPointCloudClassifiedRenderer()

QgsPointCloudClassifiedRenderer::QgsPointCloudClassifiedRenderer ( const QString &  attributeName = QString(),
const QgsPointCloudCategoryList categories = QgsPointCloudCategoryList() 
)

Constructor for QgsPointCloudClassifiedRenderer.

Definition at line 46 of file qgspointcloudclassifiedrenderer.cpp.

Member Function Documentation

◆ addCategory()

void QgsPointCloudClassifiedRenderer::addCategory ( const QgsPointCloudCategory category)

Adds a category to the renderer.

See also
categories()

Definition at line 324 of file qgspointcloudclassifiedrenderer.cpp.

◆ attribute()

QString QgsPointCloudClassifiedRenderer::attribute ( ) const

Returns the attribute to use for the renderer.

See also
setAttribute()

Definition at line 304 of file qgspointcloudclassifiedrenderer.cpp.

◆ categories()

QgsPointCloudCategoryList QgsPointCloudClassifiedRenderer::categories ( ) const

Returns the classification categories used for rendering.

See also
setCategories()

Definition at line 314 of file qgspointcloudclassifiedrenderer.cpp.

◆ checkLegendItem()

void QgsPointCloudClassifiedRenderer::checkLegendItem ( const QString &  key,
bool  state = true 
)
overridevirtual

Called when the check state of the legend item with the specified key is changed.

See also
legendItemChecked()

Reimplemented from QgsPointCloudRenderer.

Definition at line 287 of file qgspointcloudclassifiedrenderer.cpp.

◆ clone()

QgsPointCloudRenderer * QgsPointCloudClassifiedRenderer::clone ( ) const
overridevirtual

Create a deep copy of this renderer.

Should be implemented by all subclasses and generate a proper subclass.

Implements QgsPointCloudRenderer.

Definition at line 57 of file qgspointcloudclassifiedrenderer.cpp.

◆ create()

QgsPointCloudRenderer * QgsPointCloudClassifiedRenderer::create ( QDomElement &  element,
const QgsReadWriteContext context 
)
static

Creates an RGB renderer from an XML element.

Definition at line 164 of file qgspointcloudclassifiedrenderer.cpp.

◆ createLegendNodes()

QList< QgsLayerTreeModelLegendNode * > QgsPointCloudClassifiedRenderer::createLegendNodes ( QgsLayerTreeLayer nodeLayer)
overridevirtual

Creates a set of legend nodes representing the renderer.

Reimplemented from QgsPointCloudRenderer.

Definition at line 250 of file qgspointcloudclassifiedrenderer.cpp.

◆ defaultCategories()

QgsPointCloudCategoryList QgsPointCloudClassifiedRenderer::defaultCategories ( )
static

Returns the default list of categories.

Definition at line 195 of file qgspointcloudclassifiedrenderer.cpp.

◆ legendItemChecked()

bool QgsPointCloudClassifiedRenderer::legendItemChecked ( const QString &  key)
overridevirtual

Returns true if the legend item with the specified key is checked.

See also
checkLegendItem()

Reimplemented from QgsPointCloudRenderer.

Definition at line 272 of file qgspointcloudclassifiedrenderer.cpp.

◆ legendRuleKeys()

QStringList QgsPointCloudClassifiedRenderer::legendRuleKeys ( ) const
overridevirtual

Returns a list of all rule keys for legend nodes created by the renderer.

Reimplemented from QgsPointCloudRenderer.

Definition at line 262 of file qgspointcloudclassifiedrenderer.cpp.

◆ prepare()

std::unique_ptr< QgsPreparedPointCloudRendererData > QgsPointCloudClassifiedRenderer::prepare ( )
overridevirtual

Returns prepared data container for bulk point color retrieval.

Note
Not available in Python bindings.
Since
QGIS 3.26

Reimplemented from QgsPointCloudRenderer.

Definition at line 329 of file qgspointcloudclassifiedrenderer.cpp.

◆ renderBlock()

void QgsPointCloudClassifiedRenderer::renderBlock ( const QgsPointCloudBlock block,
QgsPointCloudRenderContext context 
)
overridevirtual

Renders a block of point cloud data using the specified render context.

Implements QgsPointCloudRenderer.

Definition at line 68 of file qgspointcloudclassifiedrenderer.cpp.

◆ save()

QDomElement QgsPointCloudClassifiedRenderer::save ( QDomDocument &  doc,
const QgsReadWriteContext context 
) const
overridevirtual

Saves the renderer configuration to an XML element.

See also
load()

Implements QgsPointCloudRenderer.

Definition at line 218 of file qgspointcloudclassifiedrenderer.cpp.

◆ setAttribute()

void QgsPointCloudClassifiedRenderer::setAttribute ( const QString &  attribute)

Sets the attribute to use for the renderer.

See also
attribute()

Definition at line 309 of file qgspointcloudclassifiedrenderer.cpp.

◆ setCategories()

void QgsPointCloudClassifiedRenderer::setCategories ( const QgsPointCloudCategoryList categories)

Sets the classification categories used for rendering.

See also
categories()

Definition at line 319 of file qgspointcloudclassifiedrenderer.cpp.

◆ type()

QString QgsPointCloudClassifiedRenderer::type ( ) const
overridevirtual

Returns the identifier of the renderer type.

Implements QgsPointCloudRenderer.

Definition at line 52 of file qgspointcloudclassifiedrenderer.cpp.

◆ usedAttributes()

QSet< QString > QgsPointCloudClassifiedRenderer::usedAttributes ( const QgsPointCloudRenderContext context) const
overridevirtual

Returns a list of attributes required by this renderer.

Attributes not listed in here may not be requested from the provider at rendering time.

Note
the "X" and "Y" attributes will always be fetched and do not need to be explicitly returned here.

Reimplemented from QgsPointCloudRenderer.

Definition at line 243 of file qgspointcloudclassifiedrenderer.cpp.

◆ willRenderPoint()

bool QgsPointCloudClassifiedRenderer::willRenderPoint ( const QVariantMap &  pointAttributes)
override

Definition at line 148 of file qgspointcloudclassifiedrenderer.cpp.


The documentation for this class was generated from the following files: