17#ifndef QGSABSTRACTPROFILESURFACEGENERATOR_H
18#define QGSABSTRACTPROFILESURFACEGENERATOR_H
49 double minZ = std::numeric_limits< double >::max();
50 double maxZ = std::numeric_limits< double >::lowest();
55 double mElevationLimit = std::numeric_limits< double >::quiet_NaN();
113 double elevationLimit()
const;
125 void setElevationLimit(
double limit );
132 double mElevationLimit = std::numeric_limits< double >::quiet_NaN();
ProfileExportType
Types of export for elevation profiles.
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
@ Line
The elevation surface will be rendered using a line symbol.
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 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 objects which generate elevation profiles which represent a continuous surfac...
std::unique_ptr< QgsCurve > mProfileCurve
std::unique_ptr< QgsLineSymbol > mLineSymbol
std::unique_ptr< QgsFillSymbol > mFillSymbol
~QgsAbstractProfileSurfaceGenerator() override
Abstract base class for storage of elevation profiles which represent a continuous surface (e....
std::unique_ptr< QgsFillSymbol > mFillSymbol
QgsPointSequence mRawPoints
QMap< double, double > mDistanceToHeightMap
std::unique_ptr< QgsLineSymbol > mLineSymbol
std::unique_ptr< QgsCurve > mProfileCurve
~QgsAbstractProfileSurfaceResults() override
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.
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
A line symbol type, for rendering LineString and MultiLineString geometries.
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.
QVector< QgsPoint > QgsPointSequence