QGIS API Documentation  3.27.0-Master (0e23467727)
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 
27 class QgsRasterPipe;
28 
39 class 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