QGIS API Documentation  3.18.1-Zürich (202f1bf7e5)
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 #include "qgsrasterpipe.h"
27 
38 class 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 
71  void cancel() override;
72 
73  signals:
74 
79  void writeComplete( const QString &outputUrl );
80 
86  void errorOccurred( int error );
87 
94  void errorOccurred( int error, const QString &errorMessage );
95 
96  protected:
97 
98  bool run() override;
99  void finished( bool result ) override;
100 
101  private:
102 
103  QgsRasterFileWriter mWriter;
104  int mRows = 0;
105  int mColumns = 0;
106  QgsRectangle mExtent;
108  std::unique_ptr< QgsRasterPipe > mPipe;
109 
110  QString mDestFileName;
111 
112  std::unique_ptr< QgsRasterBlockFeedback > mFeedback;
113 
115 
116  QgsCoordinateTransformContext mTransformContext;
117 };
118 
119 #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.
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.
Base class for processing modules.
Definition: qgsrasterpipe.h:47
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