17#ifndef QGSPROFILERENDERER_H
18#define QGSPROFILERENDERER_H
27#include <QFutureWatcher>
77 QStringList sourceIds()
const;
83 void startGeneration();
96 void generateSynchronously();
102 void cancelGeneration();
109 void cancelGenerationWithoutBlocking();
112 void waitForFinished();
115 bool isActive()
const;
127 void invalidateAllRefinableSources();
154 void regenerateInvalidatedResults();
166 QImage renderToImage(
int width,
int height,
double distanceMin,
double distanceMax,
double zMin,
double zMax,
const QString &sourceId = QString() );
173 void render(
QgsRenderContext &context,
double width,
double height,
double distanceMin,
double distanceMax,
double zMin,
double zMax,
const QString &sourceId = QString() );
197 void onGeneratingFinished();
205 std::unique_ptr< QgsAbstractProfileResults > results;
206 std::unique_ptr< QgsAbstractProfileResults > invalidatedResults;
207 bool complete =
false;
211 static void generateProfileStatic( std::unique_ptr< ProfileJob > &job );
214 std::vector< std::unique_ptr< QgsAbstractProfileGenerator > > mGenerators;
218 std::vector< std::unique_ptr< ProfileJob > > mJobs;
220 QFuture<void> mFuture;
221 QFutureWatcher<void> mFutureWatcher;
223 enum { Idle, Generating } mStatus = Idle;
Abstract base class for objects which generate elevation profiles.
Abstract base class for storage of elevation profiles.
Interface for classes which can generate elevation profiles.
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.
Encapsulates the context in which an elevation profile is to be generated.
Encapsulates the context of identifying profile results.
Generates and renders elevation profile plots.
void generationFinished()
Emitted when the profile generation is finished (or canceled).
Encapsulates a point on a distance-elevation profile.
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.
Contains information about the context of a rendering operation.