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