Base class for the point cloud elevation profile generators.
More...
#include <qgspointcloudlayerprofilegenerator.h>
|
| bool | collectData (QgsGeos &curve, const double mapUnitsPerPixel, const double maximumErrorPixels, const QgsDoubleRange &zRange, double &maxErrorInLayerCrs) |
| | Collects point cloud data along a curve within the specified range and tolerance.
|
| void | gatherPoints (QgsPointCloudIndex &pc, QgsPointCloudRequest &request, double maxErrorPixels, double nodeErrorPixels, const QgsDoubleRange &zRange, const QgsRectangle &searchExtent) |
| | Collects points from the point cloud index within the given extent and Z range.
|
| QVector< QgsPointCloudNodeId > | traverseTree (QgsPointCloudIndex &pc, QgsPointCloudNodeId n, double maxErrorPixels, double nodeErrorPixels, const QgsDoubleRange &zRange, const QgsRectangle &searchExtent) |
| | Recursively traverses the point cloud node tree to gather visible nodes.
|
| virtual void | visitBlock (const QgsPointCloudBlock *block, const QgsDoubleRange &zRange)=0 |
| | Visits a point cloud block and collects points within the given Z range and search geometry.
|
| int | visitNodesAsync (const QVector< QgsPointCloudNodeId > &nodes, QgsPointCloudIndex &pc, QgsPointCloudRequest &request, const QgsDoubleRange &zRange) |
| | Asynchronously visits point cloud nodes, loading their data and processing valid blocks.
|
| int | visitNodesSync (const QVector< QgsPointCloudNodeId > &nodes, QgsPointCloudIndex &pc, QgsPointCloudRequest &request, const QgsDoubleRange &zRange) |
| | Synchronously visits point cloud nodes and processes their data.
|
Base class for the point cloud elevation profile generators.
- Note
- Not available in Python bindings
- Since
- QGIS 4.0
Definition at line 132 of file qgspointcloudlayerprofilegenerator.h.
◆ QgsPointCloudLayerProfileGeneratorBase()
◆ ~QgsPointCloudLayerProfileGeneratorBase()
| QgsPointCloudLayerProfileGeneratorBase::~QgsPointCloudLayerProfileGeneratorBase |
( |
| ) |
|
|
overridevirtualdefault |
◆ collectData()
| bool QgsPointCloudLayerProfileGeneratorBase::collectData |
( |
QgsGeos & | curve, |
|
|
const double | mapUnitsPerPixel, |
|
|
const double | maximumErrorPixels, |
|
|
const QgsDoubleRange & | zRange, |
|
|
double & | maxErrorInLayerCrs ) |
|
protected |
Collects point cloud data along a curve within the specified range and tolerance.
Prepares attribute requests and renderer data, then gathers points from relevant point cloud indexes. Updates the maximum allowable error in layer coordinates.
- Parameters
-
| curve | Search geometry. |
| mapUnitsPerPixel | Number of map units per pixel in the distance dimension. |
| maximumErrorPixels | Maximum permissible projected error in pixels. |
| zRange | Vertical range filter. |
| maxErrorInLayerCrs | Output parameter for the derived maximum error in layer CRS. |
- Returns
- True on success, false if canceled or an error occurred.
Definition at line 375 of file qgspointcloudlayerprofilegenerator.cpp.
◆ gatherPoints()
Collects points from the point cloud index within the given extent and Z range.
Traverses the node tree to identify relevant nodes, then loads and processes them either synchronously or asynchronously depending on the access type.
- Parameters
-
| pc | Pint cloud index. |
| request | Point cloud data request item. |
| maxErrorPixels | Maximum allowed projected error in pixels. |
| nodeErrorPixels | Node's projected error in pixels. |
| zRange | Vertical range filter. |
| searchExtent | Search extent. |
Definition at line 617 of file qgspointcloudlayerprofilegenerator.cpp.
◆ traverseTree()
Recursively traverses the point cloud node tree to gather visible nodes.
Filters nodes based on Z range, spatial intersection with the search extent, and screen-space error threshold. Returns all nodes that meet the criteria and contain points.
- Parameters
-
| pc | Point cloud index. |
| n | Node ID to evaluate. |
| maxErrorPixels | Maximum allowed projected error in pixels. |
| nodeErrorPixels | Node's projected error in pixels. |
| zRange | Vertical range filter. |
| searchExtent | Search extent. |
- Returns
- List of nodes that satisfy the given constraints.
Definition at line 495 of file qgspointcloudlayerprofilegenerator.cpp.
◆ visitBlock()
Visits a point cloud block and collects points within the given Z range and search geometry.
Extracts point coordinates from the block, optionally filters them using the renderer, handled reprojection if needed and adds the valid points to results.
- Parameters
-
| block | Point cloud block to process. |
| zRange | Vertical range to include points within. |
◆ visitNodesAsync()
Asynchronously visits point cloud nodes, loading their data and processing valid blocks.
Requests node data asynchronously, waits for completion and calls visitBlock() for each successfully loaded block within the specified Z range.
- Parameters
-
| nodes | List of nodes to process. |
| pc | Point cloud index. |
| request | Point cloud data request item. |
| zRange | Vertical range for filtering points. |
- Returns
- Number of successfully processed nodes.
Definition at line 552 of file qgspointcloudlayerprofilegenerator.cpp.
◆ visitNodesSync()
Synchronously visits point cloud nodes and processes their data.
Loads each node’s block data sequentially, calls visitBlock() for valid blocks within the given Z range.
- Parameters
-
| nodes | Nodes to process. |
| pc | Point cloud index. |
| request | Point cloud data request item. |
| zRange | Vertical range for filtering points. |
- Returns
- Number of successfully processed nodes.
Definition at line 532 of file qgspointcloudlayerprofilegenerator.cpp.
◆ mFeedback
| std::unique_ptr<QgsFeedback> QgsPointCloudLayerProfileGeneratorBase::mFeedback = nullptr |
|
protected |
◆ mId
| QString QgsPointCloudLayerProfileGeneratorBase::mId |
|
protected |
◆ mIndex
◆ mLayer
◆ mLayerAttributes
◆ mLayerToTargetTransform
◆ mMaximumScreenError
| double QgsPointCloudLayerProfileGeneratorBase::mMaximumScreenError = 0.3 |
|
protected |
◆ mMaximumScreenErrorUnit
◆ mPreparedRendererData
◆ mProfileCurve
| std::unique_ptr< QgsCurve > QgsPointCloudLayerProfileGeneratorBase::mProfileCurve |
|
protected |
◆ mRenderer
◆ mSearchGeometryInLayerCrsGeometryEngine
| std::unique_ptr< QgsGeos > QgsPointCloudLayerProfileGeneratorBase::mSearchGeometryInLayerCrsGeometryEngine |
|
protected |
◆ mSourceCrs
◆ mStepDistance
| double QgsPointCloudLayerProfileGeneratorBase::mStepDistance = std::numeric_limits<double>::quiet_NaN() |
|
protected |
◆ mSubIndexes
| const QVector< QgsPointCloudSubIndex > QgsPointCloudLayerProfileGeneratorBase::mSubIndexes |
|
protected |
◆ mTargetCrs
◆ mTolerance
| double QgsPointCloudLayerProfileGeneratorBase::mTolerance = 0 |
|
protected |
◆ mTransformContext
◆ mZOffset
| double QgsPointCloudLayerProfileGeneratorBase::mZOffset = 0 |
|
protected |
◆ mZScale
| double QgsPointCloudLayerProfileGeneratorBase::mZScale = 1.0 |
|
protected |
The documentation for this class was generated from the following files: