17#ifndef QGSPOINTCLOUDLAYERPROFILEGENERATOR_H 
   18#define QGSPOINTCLOUDLAYERPROFILEGENERATOR_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;
 
  107    GEOSSTRtree *mPointIndex = 
nullptr;
 
  108    QPointer< QgsPointCloudLayer > mLayer;
 
  110    std::unique_ptr< QgsCurve > mProfileCurve;
 
  111    double mTolerance = 0;
 
  113    double mZScale = 1.0;
 
  114    double mMaxErrorInLayerCoordinates = 0;
 
  140    QString sourceId() 
const override;
 
  141    Qgis::ProfileGeneratorFlags flags() 
const override;
 
  152    QPointer< QgsPointCloudLayer > mLayer;
 
  154    std::unique_ptr< QgsPointCloudRenderer > mRenderer;
 
  155    double mMaximumScreenError = 0.3;
 
  158    double mPointSize = 1;
 
  162    bool mOpacityByDistanceEffect = 
false;
 
  165    std::unique_ptr<QgsFeedback> mFeedback = 
nullptr;
 
  167    std::unique_ptr< QgsCurve > mProfileCurve;
 
  169    double mTolerance = 0;
 
  178    double mZScale = 1.0;
 
  180    double mStepDistance = std::numeric_limits<double>::quiet_NaN();
 
  184    std::unique_ptr< QgsAbstractGeometry > mSearchGeometryInLayerCrs;
 
  185    std::unique_ptr< QgsGeos > mSearchGeometryInLayerCrsGeometryEngine;
 
  188    std::unique_ptr< QgsPreparedPointCloudRendererData > mPreparedRendererData;
 
  190    std::unique_ptr< QgsPointCloudLayerProfileResults > mResults;
 
  191    QVector< QgsPointCloudLayerProfileResults::PointResult > mGatheredPoints;
 
Represents a indexed point cloud node in octree.
 
PointCloudSymbol
Rendering symbols for point cloud points.
 
@ Square
Renders points as squares.
 
RenderUnit
Rendering size units.
 
ProfileExportType
Types of export for elevation profiles.
 
Abstract base class for objects which generate elevation profiles.
 
Abstract base class for storage of elevation profiles.
 
virtual QgsDoubleRange zRange() const =0
Returns the range of the retrieved elevation values.
 
virtual void renderResults(QgsProfileRenderContext &context)=0
Renders the results to the specified context.
 
virtual QMap< double, double > distanceToHeightMap() const =0
Returns the map of distance (chainage) to height.
 
virtual QString type() const =0
Returns the unique string identifier for the results type.
 
virtual QVector< QgsAbstractProfileResults::Feature > asFeatures(Qgis::ProfileExportType type, QgsFeedback *feedback=nullptr) const
Returns a list of features representing the calculated elevation results.
 
virtual QgsPointSequence sampledPoints() const =0
Returns a list of sampled points, with their calculated elevation as the point z value.
 
virtual QgsProfileSnapResult snapPoint(const QgsProfilePoint &point, const QgsProfileSnapContext &context)
Snaps a point to the generated elevation profile.
 
virtual QVector< QgsProfileIdentifyResults > identify(const QgsProfilePoint &point, const QgsProfileIdentifyContext &context)
Identify results visible at the specified profile point.
 
virtual QVector< QgsGeometry > asGeometries() const =0
Returns a list of geometries representing the calculated elevation results.
 
virtual void copyPropertiesFromGenerator(const QgsAbstractProfileGenerator *generator)
Copies properties from specified generator to the results object.
 
Abstract base class for terrain providers.
 
This class represents a coordinate reference system (CRS).
 
Contains information about the context in which a coordinate transform is executed.
 
Abstract base class for curved geometry type.
 
QgsRange which stores a range of double values.
 
Base class for feedback objects to be used for cancellation of something running in a worker thread.
 
Does vector analysis using the geos library and handles import, export, exception handling*.
 
Collection of point cloud attributes.
 
Base class for storing raw data from point cloud nodes.
 
Represents a indexed point clouds data in octree.
 
Implementation of QgsAbstractProfileGenerator for point cloud layers.
 
~QgsPointCloudLayerProfileGenerator() override
 
Implementation of QgsAbstractProfileResults for point cloud layers.
 
std::vector< PointResult > results
 
Represents a map layer supporting display of point clouds.
 
Abstract base class for 2d point cloud renderers.
 
Point cloud data request.
 
Base class for 2d point cloud renderer prepared data containers.
 
Encapsulates the context in which an elevation profile is to be generated.
 
Encapsulates the context of identifying profile results.
 
Encapsulates a point on a distance-elevation profile.
 
Abstract base class for storage of elevation profiles.
 
Encapsulates properties and constraints relating to fetching elevation profiles from different source...
 
Encapsulates the context of snapping a profile point.
 
Encapsulates results of snapping a profile point.
 
A rectangle specified with double values.
 
QVector< QgsPoint > QgsPointSequence