mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
193 lines
6.7 KiB
Plaintext
193 lines
6.7 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/elevation/qgsprofilerenderer.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
class QgsProfilePlotRenderer : QObject
|
|
{
|
|
%Docstring(signature="appended")
|
|
Generates and renders elevation profile plots.
|
|
|
|
This class has two roles:
|
|
|
|
1. Extraction and generation of the raw elevation profiles from a list of :py:class:`QgsAbstractProfileSource` objects.
|
|
2. Rendering the results
|
|
|
|
Step 1, involving the generation of the elevation profiles only needs to occur once. This is done via
|
|
a call to :py:func:`~startGeneration`, which commences generation of the profiles from each source in a separate
|
|
background thread. When the generation is completed for all sources the :py:func:`~generationFinished` signal is
|
|
emitted.
|
|
|
|
After the profile is generated, it can be rendered. The rendering step may be undertaken multiple times
|
|
(e.g. to render to different image sizes or data ranges) without having to re-generate the raw profile
|
|
data.
|
|
|
|
.. versionadded:: 3.26
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsprofilerenderer.h"
|
|
%End
|
|
public:
|
|
|
|
QgsProfilePlotRenderer( const QList< QgsAbstractProfileSource * > &sources,
|
|
const QgsProfileRequest &request );
|
|
%Docstring
|
|
Constructor for QgsProfilePlotRenderer, using the provided list of profile ``sources`` to generate the
|
|
results.
|
|
%End
|
|
|
|
|
|
~QgsProfilePlotRenderer();
|
|
|
|
QStringList sourceIds() const;
|
|
%Docstring
|
|
Returns the ordered list of source IDs for the sources used by the renderer.
|
|
%End
|
|
|
|
void startGeneration();
|
|
%Docstring
|
|
Start the generation job and immediately return.
|
|
Does nothing if the generation is already in progress.
|
|
%End
|
|
|
|
void generateSynchronously();
|
|
%Docstring
|
|
Generate the profile results synchronously in this thread. The function does not return until the generation
|
|
is complete.
|
|
|
|
This is an alternative to ordinary API (using :py:func:`~QgsProfilePlotRenderer.startGeneration` + waiting for :py:func:`~QgsProfilePlotRenderer.generationFinished` signal).
|
|
Users are discouraged to use this method unless they have a strong reason for doing it.
|
|
The synchronous generation blocks the main thread, making the application unresponsive.
|
|
Also, it is not possible to cancel generation while it is in progress.
|
|
|
|
.. versionadded:: 3.30
|
|
%End
|
|
|
|
void cancelGeneration();
|
|
%Docstring
|
|
Stop the generation job - does not return until the job has terminated.
|
|
Does nothing if the generation is not active.
|
|
%End
|
|
|
|
void cancelGenerationWithoutBlocking();
|
|
%Docstring
|
|
Triggers cancellation of the generation job without blocking. The generation job will continue
|
|
to operate until it is able to cancel, at which stage the :py:func:`~QgsProfilePlotRenderer.generationFinished` signal will be emitted.
|
|
Does nothing if the generation is not active.
|
|
%End
|
|
|
|
void waitForFinished();
|
|
%Docstring
|
|
Block until the current job has finished.
|
|
%End
|
|
|
|
bool isActive() const;
|
|
%Docstring
|
|
Returns ``True`` if the generation job is currently running in background.
|
|
%End
|
|
|
|
void setContext( const QgsProfileGenerationContext &context );
|
|
%Docstring
|
|
Sets the ``context`` in which the profile generation will occur.
|
|
|
|
Depending on the sources present, this may trigger automatically a regeneration of results.
|
|
%End
|
|
|
|
void invalidateAllRefinableSources();
|
|
%Docstring
|
|
Invalidates previous results from all refinable sources.
|
|
%End
|
|
|
|
void replaceSource( QgsAbstractProfileSource *source );
|
|
%Docstring
|
|
Replaces the existing source with matching ID.
|
|
|
|
The matching stored source will be deleted and replaced with ``source``.
|
|
%End
|
|
|
|
bool invalidateResults( QgsAbstractProfileSource *source );
|
|
%Docstring
|
|
Invalidates the profile results from the source with matching ID.
|
|
|
|
The matching stored source will be deleted and replaced with ``source``.
|
|
|
|
Returns ``True`` if results were previously stored for the matching source and have been invalidated.
|
|
|
|
.. seealso:: :py:func:`regenerateInvalidatedResults`
|
|
%End
|
|
|
|
void regenerateInvalidatedResults();
|
|
%Docstring
|
|
Starts a background regeneration of any invalidated results and immediately returns.
|
|
|
|
Does nothing if the generation is already in progress.
|
|
|
|
.. seealso:: :py:func:`invalidateResults`
|
|
%End
|
|
|
|
QgsDoubleRange zRange() const;
|
|
%Docstring
|
|
Returns the limits of the retrieved elevation values.
|
|
%End
|
|
|
|
QImage renderToImage( int width, int height, double distanceMin, double distanceMax, double zMin, double zMax, const QString &sourceId = QString(), double devicePixelRatio = 1.0 );
|
|
%Docstring
|
|
Renders a portion of the profile to an image with the given ``width`` and ``height``.
|
|
|
|
If ``sourceId`` is empty then all sources will be rendered, otherwise only the matching source will be rendered.
|
|
%End
|
|
|
|
void render( QgsRenderContext &context, double width, double height, double distanceMin, double distanceMax, double zMin, double zMax, const QString &sourceId = QString() );
|
|
%Docstring
|
|
Renders a portion of the profile using the specified render ``context``.
|
|
|
|
If ``sourceId`` is empty then all sources will be rendered, otherwise only the matching source will be rendered.
|
|
%End
|
|
|
|
QgsProfileSnapResult snapPoint( const QgsProfilePoint &point, const QgsProfileSnapContext &context );
|
|
%Docstring
|
|
Snap a ``point`` to the results.
|
|
%End
|
|
|
|
QVector<QgsProfileIdentifyResults> identify( const QgsProfilePoint &point, const QgsProfileIdentifyContext &context );
|
|
%Docstring
|
|
Identify results visible at the specified profile ``point``.
|
|
%End
|
|
|
|
QVector<QgsProfileIdentifyResults> identify( const QgsDoubleRange &distanceRange, const QgsDoubleRange &elevationRange, const QgsProfileIdentifyContext &context );
|
|
%Docstring
|
|
Identify results visible within the specified ranges.
|
|
%End
|
|
|
|
QVector< QgsAbstractProfileResults::Feature > asFeatures( Qgis::ProfileExportType type, QgsFeedback *feedback = 0 );
|
|
%Docstring
|
|
Exports the profile results as a set of features.
|
|
|
|
.. versionadded:: 3.32
|
|
%End
|
|
|
|
signals:
|
|
|
|
void generationFinished();
|
|
%Docstring
|
|
Emitted when the profile generation is finished (or canceled).
|
|
%End
|
|
|
|
};
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/elevation/qgsprofilerenderer.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|