QGIS API Documentation 3.41.0-Master (af5edcb665c)
|
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. | |
void | renderLabel (const QRectF &extent, const QString &text, QgsPointCloudRenderContext &context) const |
Renders a label inside the specified extent rectangle. | |
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 () | |
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. | |
QgsTextFormat | labelTextFormat () const |
Returns the text format renderer is using for rendering labels. | |
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 | setLabelTextFormat (const QgsTextFormat &textFormat) |
Sets the text format renderers should use for rendering labels. | |
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. | |
void | setShowLabels (const bool show) |
Set whether the renderer should also render file labels inside extent. | |
bool | showLabels () const |
Returns whether the renderer shows file labels inside the extent rectangle. | |
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 32 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 45 of file qgspointcloudextentrenderer.cpp.
|
static |
Creates an extent renderer from an XML element.
Definition at line 57 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Creates a set of legend nodes representing the renderer.
Reimplemented from QgsPointCloudRenderer.
Definition at line 177 of file qgspointcloudextentrenderer.cpp.
|
static |
Returns a new instance of the default fill symbol to use for showing point cloud extents.
Definition at line 122 of file qgspointcloudextentrenderer.cpp.
QgsFillSymbol * QgsPointCloudExtentRenderer::fillSymbol | ( | ) | const |
Returns the symbol used to render the cloud's extent.
Definition at line 132 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Renders a block of point cloud data using the specified render context.
Implements QgsPointCloudRenderer.
Definition at line 52 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 71 of file qgspointcloudextentrenderer.cpp.
void QgsPointCloudExtentRenderer::renderLabel | ( | const QRectF & | extent, |
const QString & | text, | ||
QgsPointCloudRenderContext & | context | ||
) | const |
Renders a label inside the specified extent rectangle.
The label will be rendered centered horizontally and vertically inside extent. If the label is too large to fit inside this rectangle, it will not be rendered.
extent | rectangle (in painter coordinates) inside which the label will be rendered |
text | label text to render |
context | point cloud rendering context |
Definition at line 141 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Saves the renderer configuration to an XML element.
Implements QgsPointCloudRenderer.
Definition at line 152 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 137 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 165 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 171 of file qgspointcloudextentrenderer.cpp.
|
overridevirtual |
Returns the identifier of the renderer type.
Implements QgsPointCloudRenderer.
Definition at line 40 of file qgspointcloudextentrenderer.cpp.