QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
17 #ifndef QGSPOINTCLOUDLAYERPROFILEGENERATOR_H
18 #define QGSPOINTCLOUDLAYERPROFILEGENERATOR_H
20 #include "qgis_core.h"
70 double distanceAlongCurve = 0;
71 double distanceFromCurve = 0;
83 double minZ = std::numeric_limits< double >::max();
84 double maxZ = std::numeric_limits< double >::lowest();
89 bool respectLayerColors =
true;
91 bool opacityByDistanceEffect =
false;
93 QString
type()
const override;
106 GEOSSTRtree *mPointIndex =
nullptr;
107 QPointer< QgsPointCloudLayer > mLayer;
109 std::unique_ptr< QgsCurve > mProfileCurve;
110 double mTolerance = 0;
112 double mZScale = 1.0;
113 double mMaxErrorInLayerCoordinates = 0;
116 #if GEOS_VERSION_MAJOR<4 && GEOS_VERSION_MINOR<9
117 std::vector< geos::unique_ptr > mSTRTreeItems;
144 Qgis::ProfileGeneratorFlags
flags()
const override;
155 QPointer< QgsPointCloudLayer > mLayer;
157 std::unique_ptr< QgsPointCloudRenderer > mRenderer;
158 double mMaximumScreenError = 0.3;
161 double mPointSize = 1;
165 bool mOpacityByDistanceEffect =
false;
168 std::unique_ptr<QgsFeedback> mFeedback =
nullptr;
170 std::unique_ptr< QgsCurve > mProfileCurve;
172 double mTolerance = 0;
181 double mZScale = 1.0;
183 double mStepDistance = std::numeric_limits<double>::quiet_NaN();
187 std::unique_ptr< QgsAbstractGeometry > mSearchGeometryInLayerCrs;
188 std::unique_ptr< QgsGeos > mSearchGeometryInLayerCrsGeometryEngine;
191 std::unique_ptr< QgsPreparedPointCloudRendererData > mPreparedRendererData;
193 std::unique_ptr< QgsPointCloudLayerProfileResults > mResults;
194 QVector< QgsPointCloudLayerProfileResults::PointResult > mGatheredPoints;
200 #endif // QGSPOINTCLOUDLAYERPROFILEGENERATOR_H
Encapsulates the context of identifying profile results.
Abstract base class for curved geometry type.
Contains information about the context in which a coordinate transform is executed.
RenderUnit
Rendering size units.
Represents a map layer supporting display of point clouds.
Encapsulates results of snapping a profile point.
Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precisi...
Implementation of QgsAbstractProfileGenerator for point cloud layers.
Base class for 2d point cloud renderer prepared data containers.
Abstract base class for objects which generate elevation profiles.
Abstract base class for storage of elevation profiles.
@ RenderMillimeters
Millimeters.
Base class for storing raw data from point cloud nodes.
Implementation of QgsAbstractProfileResults for point cloud layers.
Encapsulates the context of snapping a profile point.
A rectangle specified with double values.
virtual QVector< QgsProfileIdentifyResults > identify(const QgsProfilePoint &point, const QgsProfileIdentifyContext &context)
Identify results visible at the specified profile point.
virtual QgsPointSequence sampledPoints() const =0
Returns a list of sampled points, with their calculated elevation as the point z value.
Encapsulates a point on a distance-elevation profile.
Point cloud data request.
std::vector< PointResult > results
Encapsulates the context in which an elevation profile is to be generated.
virtual void copyPropertiesFromGenerator(const QgsAbstractProfileGenerator *generator)
Copies properties from specified generator to the results object.
virtual QVector< QgsGeometry > asGeometries() const =0
Returns a list of geometries representing the calculated elevation results.
Represents a indexed point cloud node in octree.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
virtual QgsFeedback * feedback() const =0
Access to feedback object of the generator (may be nullptr)
Collection of point cloud attributes.
Does vector analysis using the geos library and handles import, export, exception handling*.
virtual QgsDoubleRange zRange() const =0
Returns the range of the retrieved elevation values.
@ Square
Renders points as squares.
PointCloudSymbol
Rendering symbols for point cloud points.
Encapsulates properties and constraints relating to fetching elevation profiles from different source...
virtual void renderResults(QgsProfileRenderContext &context)=0
Renders the results to the specified context.
This class represents a coordinate reference system (CRS).
QgsRange which stores a range of double values.
QVector< QgsPoint > QgsPointSequence
virtual QMap< double, double > distanceToHeightMap() const =0
Returns the map of distance (chainage) to height.
Abstract base class for 2d point cloud renderers.
virtual Qgis::ProfileGeneratorFlags flags() const
Returns flags which reflect how the profile generator operates.
virtual QString type() const =0
Returns the unique string identifier for the results type.
Abstract base class for storage of elevation profiles.
Represents a indexed point clouds data in octree.
Abstract base class for terrain providers.
virtual QgsAbstractProfileResults * takeResults()=0
Takes results from the generator.
virtual QString sourceId() const =0
Returns a unique identifier representing the source of the profile.
virtual QgsProfileSnapResult snapPoint(const QgsProfilePoint &point, const QgsProfileSnapContext &context)
Snaps a point to the generated elevation profile.
virtual bool generateProfile(const QgsProfileGenerationContext &context=QgsProfileGenerationContext())=0
Generate the profile (based on data stored in the class).