|
QGIS API Documentation 4.3.0-Master (16eddb2670e)
|
Base class for the point cloud elevation profile generators. More...
#include <qgspointcloudlayerprofilegenerator.h>

Public Member Functions | |
| QgsPointCloudLayerProfileGeneratorBase (QgsPointCloudLayer *layer, const QgsProfileRequest &request) | |
| Constructor for QgsPointCloudLayerProfileGeneratorBase. | |
| virtual | ~QgsPointCloudLayerProfileGeneratorBase () override |
| Public Member Functions inherited from QgsAbstractProfileGenerator | |
| virtual | ~QgsAbstractProfileGenerator () |
| virtual QgsFeedback * | feedback () const =0 |
Access to feedback object of the generator (may be nullptr). | |
| virtual Qgis::ProfileGeneratorFlags | flags () const |
| Returns flags which reflect how the profile generator operates. | |
| virtual bool | generateProfile (const QgsProfileGenerationContext &context=QgsProfileGenerationContext())=0 |
| Generate the profile (based on data stored in the class). | |
| virtual QString | sourceId () const =0 |
| Returns a unique identifier representing the source of the profile. | |
| virtual QgsAbstractProfileResults * | takeResults ()=0 |
| Takes results from the generator. | |
| virtual QString | type () const =0 |
| Returns the unique string identifier for the results type. | |
Protected Member Functions | |
| 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. | |
Protected Attributes | |
| std::unique_ptr< QgsFeedback > | mFeedback = nullptr |
| QString | mId |
| QgsPointCloudIndex | mIndex |
| QPointer< QgsPointCloudLayer > | mLayer |
| QgsPointCloudAttributeCollection | mLayerAttributes |
| QgsCoordinateTransform | mLayerToTargetTransform |
| double | mMaximumScreenError = 0.3 |
| Qgis::RenderUnit | mMaximumScreenErrorUnit = Qgis::RenderUnit::Millimeters |
| std::unique_ptr< QgsPreparedPointCloudRendererData > | mPreparedRendererData |
| std::unique_ptr< QgsCurve > | mProfileCurve |
| std::unique_ptr< QgsPointCloudRenderer > | mRenderer |
| std::unique_ptr< QgsGeos > | mSearchGeometryInLayerCrsGeometryEngine |
| QgsCoordinateReferenceSystem | mSourceCrs |
| double | mStepDistance = std::numeric_limits<double>::quiet_NaN() |
| const QVector< QgsPointCloudSubIndex > | mSubIndexes |
| QgsCoordinateReferenceSystem | mTargetCrs |
| double | mTolerance = 0 |
| QgsCoordinateTransformContext | mTransformContext |
| double | mZOffset = 0 |
| double | mZScale = 1.0 |
Base class for the point cloud elevation profile generators.
Definition at line 124 of file qgspointcloudlayerprofilegenerator.h.
| QgsPointCloudLayerProfileGeneratorBase::QgsPointCloudLayerProfileGeneratorBase | ( | QgsPointCloudLayer * | layer, |
| const QgsProfileRequest & | request ) |
Constructor for QgsPointCloudLayerProfileGeneratorBase.
Definition at line 346 of file qgspointcloudlayerprofilegenerator.cpp.
|
overridevirtualdefault |
|
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.
| 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. |
Definition at line 369 of file qgspointcloudlayerprofilegenerator.cpp.
|
protected |
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.
| 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 610 of file qgspointcloudlayerprofilegenerator.cpp.
|
protected |
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.
| 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. |
Definition at line 488 of file qgspointcloudlayerprofilegenerator.cpp.
|
protectedpure virtual |
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.
| block | Point cloud block to process. |
| zRange | Vertical range to include points within. |
|
protected |
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.
| nodes | List of nodes to process. |
| pc | Point cloud index. |
| request | Point cloud data request item. |
| zRange | Vertical range for filtering points. |
Definition at line 547 of file qgspointcloudlayerprofilegenerator.cpp.
|
protected |
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.
| nodes | Nodes to process. |
| pc | Point cloud index. |
| request | Point cloud data request item. |
| zRange | Vertical range for filtering points. |
Definition at line 527 of file qgspointcloudlayerprofilegenerator.cpp.
|
protected |
Definition at line 232 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 230 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 222 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 221 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 224 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 245 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 227 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 228 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 248 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 246 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 225 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 249 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 236 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 240 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 223 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 237 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 234 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 238 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 242 of file qgspointcloudlayerprofilegenerator.h.
|
protected |
Definition at line 243 of file qgspointcloudlayerprofilegenerator.h.