QGIS API Documentation 3.41.0-Master (3440c17df1d)
|
An RGB renderer for 2d visualisation of point clouds using embedded red, green and blue attributes. More...
#include <qgspointcloudrgbrenderer.h>
Public Member Functions | |
QgsPointCloudRgbRenderer () | |
Constructor for QgsPointCloudRgbRenderer. | |
QString | blueAttribute () const |
Returns the attribute to use for the blue channel. | |
const QgsContrastEnhancement * | blueContrastEnhancement () const |
Returns the contrast enhancement to use for the blue channel. | |
QgsPointCloudRenderer * | clone () const override |
Create a deep copy of this renderer. | |
QString | greenAttribute () const |
Returns the attribute to use for the green channel. | |
const QgsContrastEnhancement * | greenContrastEnhancement () const |
Returns the contrast enhancement to use for the green channel. | |
std::unique_ptr< QgsPreparedPointCloudRendererData > | prepare () override |
Returns prepared data container for bulk point color retrieval. | |
QString | redAttribute () const |
Returns the attribute to use for the red channel. | |
const QgsContrastEnhancement * | redContrastEnhancement () const |
Returns the contrast enhancement to use for the red channel. | |
void | renderBlock (const QgsPointCloudBlock *block, QgsPointCloudRenderContext &context) override |
Renders a block of point cloud data using the specified render context. | |
QDomElement | save (QDomDocument &doc, const QgsReadWriteContext &context) const override |
Saves the renderer configuration to an XML element. | |
void | setBlueAttribute (const QString &attribute) |
Sets the attribute to use for the blue channel. | |
void | setBlueContrastEnhancement (QgsContrastEnhancement *enhancement) |
Sets the contrast enhancement to use for the blue channel. | |
void | setGreenAttribute (const QString &attribute) |
Sets the attribute to use for the green channel. | |
void | setGreenContrastEnhancement (QgsContrastEnhancement *enhancement) |
Sets the contrast enhancement to use for the green channel. | |
void | setRedAttribute (const QString &attribute) |
Sets the attribute to use for the red channel. | |
void | setRedContrastEnhancement (QgsContrastEnhancement *enhancement) |
Sets the contrast enhancement to use for the red channel. | |
QString | type () const override |
Returns the identifier of the renderer type. | |
QSet< QString > | usedAttributes (const QgsPointCloudRenderContext &context) const override |
Returns a list of attributes required by this renderer. | |
Public Member Functions inherited from QgsPointCloudRenderer | |
QgsPointCloudRenderer ()=default | |
QgsPointCloudRenderer (const QgsPointCloudRenderer &other)=delete | |
QgsPointCloudRenderer cannot be copied – use clone() instead. | |
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. | |
virtual QList< QgsLayerTreeModelLegendNode * > | createLegendNodes (QgsLayerTreeLayer *nodeLayer) |
Creates a set of legend nodes representing the renderer. | |
Qgis::PointCloudDrawOrder | drawOrder2d () const |
Returns the drawing order used by the renderer for drawing points. | |
bool | horizontalTriangleFilter () const |
Returns whether large triangles will get rendered. | |
double | horizontalTriangleFilterThreshold () const |
Returns threshold for filtering of triangles. | |
Qgis::RenderUnit | horizontalTriangleFilterUnit () const |
Returns units of the threshold for filtering of triangles. | |
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. | |
virtual bool | legendItemChecked (const QString &key) |
Returns true if the legend item with the specified key is checked. | |
virtual QStringList | legendRuleKeys () const |
Returns a list of all rule keys for legend nodes created by the renderer. | |
double | maximumScreenError () const |
Returns the maximum screen error allowed when rendering the point cloud. | |
Qgis::RenderUnit | maximumScreenErrorUnit () const |
Returns the unit for the maximum screen error allowed when rendering the point cloud. | |
QgsPointCloudRenderer & | operator= (const QgsPointCloudRenderer &other)=delete |
QgsPointCloudRenderer cannot be copied – use clone() instead. | |
double | pointSize () const |
Returns the point size. | |
const QgsMapUnitScale & | pointSizeMapUnitScale () const |
Returns the map unit scale used for the point size. | |
Qgis::RenderUnit | pointSizeUnit () const |
Returns the units used for the point size. | |
Qgis::PointCloudSymbol | pointSymbol () const |
Returns the symbol used by the renderer for drawing points. | |
bool | renderAsTriangles () const |
Returns whether points are triangulated to render solid surface. | |
void | setDrawOrder2d (Qgis::PointCloudDrawOrder order) |
Sets the drawing order used by the renderer for drawing points. | |
void | setHorizontalTriangleFilter (bool enabled) |
Sets whether large triangles will get rendered. | |
void | setHorizontalTriangleFilterThreshold (double threshold) |
Sets threshold for filtering of triangles. | |
void | setHorizontalTriangleFilterUnit (Qgis::RenderUnit unit) |
Sets units of the threshold for filtering of triangles. | |
void | setMaximumScreenError (double error) |
Sets the maximum screen error allowed when rendering the point cloud. | |
void | setMaximumScreenErrorUnit (Qgis::RenderUnit unit) |
Sets the unit for the maximum screen error allowed when rendering the point cloud. | |
void | setPointSize (double size) |
Sets the point size. | |
void | setPointSizeMapUnitScale (const QgsMapUnitScale &scale) |
Sets the map unit scale used for the point size. | |
void | setPointSizeUnit (const Qgis::RenderUnit units) |
Sets the units used for the point size. | |
void | setPointSymbol (Qgis::PointCloudSymbol symbol) |
Sets the symbol used by the renderer for drawing points. | |
void | setRenderAsTriangles (bool asTriangles) |
Sets whether points are triangulated to render solid surface. | |
virtual void | startRender (QgsPointCloudRenderContext &context) |
Must be called when a new render cycle is started. | |
virtual void | stopRender (QgsPointCloudRenderContext &context) |
Must be called when a render cycle has finished, to allow the renderer to clean up. | |
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 ) | |
Static Public Member Functions | |
static QgsPointCloudRenderer * | create (QDomElement &element, const QgsReadWriteContext &context) |
Creates an RGB renderer from an XML element. | |
Static Public Member Functions inherited from QgsPointCloudRenderer | |
static QgsPointCloudRenderer * | load (QDomElement &element, const QgsReadWriteContext &context) |
Creates a renderer from an XML element. | |
Additional Inherited Members | |
Protected Member Functions inherited from QgsPointCloudRenderer | |
void | addPointToTriangulation (double x, double y, double z, const QColor &color, QgsPointCloudRenderContext &context) |
Adds a point to the list of points to be triangulated (only used when renderAsTriangles() is enabled) | |
void | copyCommonProperties (QgsPointCloudRenderer *destination) const |
Copies common point cloud properties (such as point size and screen error) to the destination renderer. | |
void | drawPoint (double x, double y, const QColor &color, int width, QgsPointCloudRenderContext &context) const |
Draws a point using a color and painter width at the specified x and y (in map coordinates). | |
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). | |
void | drawPointToElevationMap (double x, double y, double z, int width, QgsPointCloudRenderContext &context) const |
Draws a point at the elevation z using at the specified x and y (in map coordinates) and painter width on the elevation map. | |
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. | |
void | restoreCommonProperties (const QDomElement &element, const QgsReadWriteContext &context) |
Restores common renderer properties (such as point size and screen error) from the specified DOM element. | |
void | saveCommonProperties (QDomElement &element, const QgsReadWriteContext &context) const |
Saves common renderer properties (such as point size and screen error) to the specified DOM element. | |
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. | |
static double | pointZ (QgsPointCloudRenderContext &context, const char *ptr, int i) |
Retrieves the z value for the point at index i. | |
An RGB renderer for 2d visualisation of point clouds using embedded red, green and blue attributes.
Definition at line 71 of file qgspointcloudrgbrenderer.h.
QgsPointCloudRgbRenderer::QgsPointCloudRgbRenderer | ( | ) |
Constructor for QgsPointCloudRgbRenderer.
Definition at line 22 of file qgspointcloudrgbrenderer.cpp.
QString QgsPointCloudRgbRenderer::blueAttribute | ( | ) | const |
Returns the attribute to use for the blue channel.
Definition at line 379 of file qgspointcloudrgbrenderer.cpp.
const QgsContrastEnhancement * QgsPointCloudRgbRenderer::blueContrastEnhancement | ( | ) | const |
Returns the contrast enhancement to use for the blue channel.
Definition at line 409 of file qgspointcloudrgbrenderer.cpp.
|
overridevirtual |
Create a deep copy of this renderer.
Should be implemented by all subclasses and generate a proper subclass.
Implements QgsPointCloudRenderer.
Definition at line 32 of file qgspointcloudrgbrenderer.cpp.
|
static |
Creates an RGB renderer from an XML element.
Definition at line 187 of file qgspointcloudrgbrenderer.cpp.
QString QgsPointCloudRgbRenderer::greenAttribute | ( | ) | const |
Returns the attribute to use for the green channel.
Definition at line 369 of file qgspointcloudrgbrenderer.cpp.
const QgsContrastEnhancement * QgsPointCloudRgbRenderer::greenContrastEnhancement | ( | ) | const |
Returns the contrast enhancement to use for the green channel.
Definition at line 399 of file qgspointcloudrgbrenderer.cpp.
|
overridevirtual |
Returns prepared data container for bulk point color retrieval.
Reimplemented from QgsPointCloudRenderer.
Definition at line 270 of file qgspointcloudrgbrenderer.cpp.
QString QgsPointCloudRgbRenderer::redAttribute | ( | ) | const |
Returns the attribute to use for the red channel.
Definition at line 359 of file qgspointcloudrgbrenderer.cpp.
const QgsContrastEnhancement * QgsPointCloudRgbRenderer::redContrastEnhancement | ( | ) | const |
Returns the contrast enhancement to use for the red channel.
Definition at line 389 of file qgspointcloudrgbrenderer.cpp.
|
overridevirtual |
Renders a block of point cloud data using the specified render context.
Implements QgsPointCloudRenderer.
Definition at line 57 of file qgspointcloudrgbrenderer.cpp.
|
overridevirtual |
Saves the renderer configuration to an XML element.
Implements QgsPointCloudRenderer.
Definition at line 228 of file qgspointcloudrgbrenderer.cpp.
void QgsPointCloudRgbRenderer::setBlueAttribute | ( | const QString & | attribute | ) |
Sets the attribute to use for the blue channel.
Definition at line 384 of file qgspointcloudrgbrenderer.cpp.
void QgsPointCloudRgbRenderer::setBlueContrastEnhancement | ( | QgsContrastEnhancement * | enhancement | ) |
Sets the contrast enhancement to use for the blue channel.
Ownership of enhancement is transferred.
Definition at line 414 of file qgspointcloudrgbrenderer.cpp.
void QgsPointCloudRgbRenderer::setGreenAttribute | ( | const QString & | attribute | ) |
Sets the attribute to use for the green channel.
Definition at line 374 of file qgspointcloudrgbrenderer.cpp.
void QgsPointCloudRgbRenderer::setGreenContrastEnhancement | ( | QgsContrastEnhancement * | enhancement | ) |
Sets the contrast enhancement to use for the green channel.
Ownership of enhancement is transferred.
Definition at line 404 of file qgspointcloudrgbrenderer.cpp.
void QgsPointCloudRgbRenderer::setRedAttribute | ( | const QString & | attribute | ) |
Sets the attribute to use for the red channel.
Definition at line 364 of file qgspointcloudrgbrenderer.cpp.
void QgsPointCloudRgbRenderer::setRedContrastEnhancement | ( | QgsContrastEnhancement * | enhancement | ) |
Sets the contrast enhancement to use for the red channel.
Ownership of enhancement is transferred.
Definition at line 394 of file qgspointcloudrgbrenderer.cpp.
|
overridevirtual |
Returns the identifier of the renderer type.
Implements QgsPointCloudRenderer.
Definition at line 27 of file qgspointcloudrgbrenderer.cpp.
|
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.
Reimplemented from QgsPointCloudRenderer.
Definition at line 263 of file qgspointcloudrgbrenderer.cpp.