QGIS API Documentation 3.41.0-Master (3440c17df1d)
|
A renderer for 2d visualisation of point clouds which shows the dataset's extents using a fill symbol. More...
#include <qgspointcloudextentrenderer.h>
Public Member Functions | |
QgsPointCloudExtentRenderer (QgsFillSymbol *symbol=nullptr) | |
Constructor for QgsPointCloudExtentRenderer. | |
~QgsPointCloudExtentRenderer () override | |
QgsPointCloudRenderer * | clone () const override |
Create a deep copy of this renderer. | |
QList< QgsLayerTreeModelLegendNode * > | createLegendNodes (QgsLayerTreeLayer *nodeLayer) override |
Creates a set of legend nodes representing the renderer. | |
QgsFillSymbol * | fillSymbol () const |
Returns the symbol used to render the cloud's extent. | |
void | renderBlock (const QgsPointCloudBlock *block, QgsPointCloudRenderContext &context) override |
Renders a block of point cloud data using the specified render context. | |
void | renderExtent (const QgsGeometry &extent, QgsPointCloudRenderContext &context) |
Renders a polygon extent geometry to the specified render context. | |
QDomElement | save (QDomDocument &doc, const QgsReadWriteContext &context) const override |
Saves the renderer configuration to an XML element. | |
void | setFillSymbol (QgsFillSymbol *symbol) |
Sets the symbol used to render the cloud's extent. | |
void | startRender (QgsPointCloudRenderContext &context) override |
Must be called when a new render cycle is started. | |
void | stopRender (QgsPointCloudRenderContext &context) override |
Must be called when a render cycle has finished, to allow the renderer to clean up. | |
QString | type () const override |
Returns the identifier of the renderer type. | |
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. | |
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. | |
virtual std::unique_ptr< QgsPreparedPointCloudRendererData > | prepare () |
Returns prepared data container for bulk point color retrieval. | |
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 QSet< QString > | usedAttributes (const QgsPointCloudRenderContext &context) const |
Returns a list of attributes required by this renderer. | |
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 extent renderer from an XML element. | |
static QgsFillSymbol * | defaultFillSymbol () |
Returns a new instance of the default fill symbol to use for showing point cloud extents. | |
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. | |
A renderer for 2d visualisation of point clouds which shows the dataset's extents using a fill symbol.
Definition at line 33 of file qgspointcloudextentrenderer.h.
QgsPointCloudExtentRenderer::QgsPointCloudExtentRenderer | ( | QgsFillSymbol * | symbol = nullptr | ) |
Constructor for QgsPointCloudExtentRenderer.
Optionally the symbol to use for showing the extent can be specified. If specified, ownership is transferred to the renderer. If no symbol is specified a default one will be created instead.
Definition at line 28 of file qgspointcloudextentrenderer.cpp.
|
overridedefault |
|
overridevirtual |
Create a deep copy of this renderer.
Should be implemented by all subclasses and generate a proper subclass.
Implements QgsPointCloudRenderer.
Definition at line 41 of file qgspointcloudextentrenderer.cpp.
|
static |
Creates an extent renderer from an XML element.
Definition at line 53 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Creates a set of legend nodes representing the renderer.
Reimplemented from QgsPointCloudRenderer.
Definition at line 163 of file qgspointcloudextentrenderer.cpp.
|
static |
Returns a new instance of the default fill symbol to use for showing point cloud extents.
Definition at line 118 of file qgspointcloudextentrenderer.cpp.
QgsFillSymbol * QgsPointCloudExtentRenderer::fillSymbol | ( | ) | const |
Returns the symbol used to render the cloud's extent.
Definition at line 128 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Renders a block of point cloud data using the specified render context.
Implements QgsPointCloudRenderer.
Definition at line 48 of file qgspointcloudextentrenderer.cpp.
void QgsPointCloudExtentRenderer::renderExtent | ( | const QgsGeometry & | extent, |
QgsPointCloudRenderContext & | context | ||
) |
Renders a polygon extent geometry to the specified render context.
Definition at line 67 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Saves the renderer configuration to an XML element.
Implements QgsPointCloudRenderer.
Definition at line 138 of file qgspointcloudextentrenderer.cpp.
void QgsPointCloudExtentRenderer::setFillSymbol | ( | QgsFillSymbol * | symbol | ) |
Sets the symbol used to render the cloud's extent.
Ownership of symbol is transferred to the renderer.
Definition at line 133 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Must be called when a new render cycle is started.
A call to startRender() must always be followed by a corresponding call to stopRender() after all features have been rendered.
Reimplemented from QgsPointCloudRenderer.
Definition at line 151 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
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().
Reimplemented from QgsPointCloudRenderer.
Definition at line 157 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Returns the identifier of the renderer type.
Implements QgsPointCloudRenderer.
Definition at line 36 of file qgspointcloudextentrenderer.cpp.