QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
qgsrasterfilewritertask.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsrasterfilewritertask.h
3 -------------------------
4 begin : April 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSRASTERFILEWRITERTASK_H
19#define QGSRASTERFILEWRITERTASK_H
20
21#include "qgis_core.h"
22#include "qgstaskmanager.h"
23#include "qgsrasterfilewriter.h"
25#include "qgsrasterinterface.h"
26
27class QgsRasterPipe;
28
39class CORE_EXPORT QgsRasterFileWriterTask : public QgsTask
40{
41 Q_OBJECT
42
43 public:
44
52 Q_DECL_DEPRECATED QgsRasterFileWriterTask( const QgsRasterFileWriter &writer, QgsRasterPipe *pipe SIP_TRANSFER,
53 int columns, int rows,
54 const QgsRectangle &outputExtent,
56
57
66 int columns, int rows,
67 const QgsRectangle &outputExtent,
69 const QgsCoordinateTransformContext &transformContext
70 );
71
73
74 void cancel() override;
75
76 signals:
77
82 void writeComplete( const QString &outputUrl );
83
89 void errorOccurred( int error );
90
97 void errorOccurred( int error, const QString &errorMessage );
98
99 protected:
100
101 bool run() override;
102 void finished( bool result ) override;
103
104 private:
105
106 QgsRasterFileWriter mWriter;
107 int mRows = 0;
108 int mColumns = 0;
109 QgsRectangle mExtent;
111 std::unique_ptr< QgsRasterPipe > mPipe;
112
113 QString mDestFileName;
114
115 std::unique_ptr< QgsRasterBlockFeedback > mFeedback;
116
118
119 QgsCoordinateTransformContext mTransformContext;
120};
121
122#endif //QGSRASTERFILEWRITERTASK_H
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
QgsTask task which performs a QgsRasterFileWriter layer saving operation as a background task.
~QgsRasterFileWriterTask() override
void writeComplete(const QString &outputUrl)
Emitted when writing the layer is successfully completed.
void errorOccurred(int error, const QString &errorMessage)
Emitted when an error occurs which prevented the file being written (or if the task is canceled).
void errorOccurred(int error)
Emitted when an error occurs which prevented the file being written (or if the task is canceled).
The raster file writer which allows you to save a raster to a new file.
Contains a pipeline of raster interfaces for sequential raster processing.
Definition: qgsrasterpipe.h:50
A rectangle specified with double values.
Definition: qgsrectangle.h:42
Abstract base class for long running background tasks.
virtual void finished(bool result)
If the task is managed by a QgsTaskManager, this will be called after the task has finished (whether ...
virtual bool run()=0
Performs the task's operation.
virtual void cancel()
Notifies the task that it should terminate.
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
#define SIP_TRANSFER
Definition: qgis_sip.h:36
const QgsCoordinateReferenceSystem & crs