QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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
38class CORE_EXPORT QgsRasterFileWriterTask : public QgsTask
39{
40 Q_OBJECT
41
42 public:
43
51 Q_DECL_DEPRECATED QgsRasterFileWriterTask( const QgsRasterFileWriter &writer, QgsRasterPipe *pipe SIP_TRANSFER,
52 int columns, int rows,
53 const QgsRectangle &outputExtent,
55
56
65 int columns, int rows,
66 const QgsRectangle &outputExtent,
68 const QgsCoordinateTransformContext &transformContext
69 );
70
72
73 void cancel() override;
74
75 signals:
76
81 void writeComplete( const QString &outputUrl );
82
88 void errorOccurred( int error );
89
96 void errorOccurred( int error, const QString &errorMessage );
97
98 protected:
99
100 bool run() override;
101 void finished( bool result ) override;
102
103 private:
104
105 QgsRasterFileWriter mWriter;
106 int mRows = 0;
107 int mColumns = 0;
108 QgsRectangle mExtent;
110 std::unique_ptr< QgsRasterPipe > mPipe;
111
112 QString mDestFileName;
113
114 std::unique_ptr< QgsRasterBlockFeedback > mFeedback;
115
117
118 QgsCoordinateTransformContext mTransformContext;
119};
120
121#endif //QGSRASTERFILEWRITERTASK_H
RasterFileWriterResult
Raster file export results.
Definition: qgis.h:1246
@ Success
Successful export.
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