File tree Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Original file line number Diff line number Diff line change 17
17
18
18
#include " qgsgdalutils.h"
19
19
#include " qgsrastercalculator.h"
20
- #include " qgsrastercalcnode.h"
21
20
#include " qgsrasterdataprovider.h"
22
21
#include " qgsrasterinterface.h"
23
22
#include " qgsrasterlayer.h"
@@ -95,7 +94,7 @@ QgsRasterCalculator::Result QgsRasterCalculator::processCalculation( QgsFeedback
95
94
// Check for matrix nodes, GPU implementation does not support them
96
95
QList<const QgsRasterCalcNode *> nodeList;
97
96
if ( QgsOpenClUtils::enabled () && QgsOpenClUtils::available () && calcNode->findNodes ( QgsRasterCalcNode::Type::tMatrix ).isEmpty () )
98
- return processCalculationGPU ( feedback );
97
+ return processCalculationGPU ( std::move ( calcNode ), feedback );
99
98
#endif
100
99
101
100
// open output dataset for writing
@@ -313,9 +312,9 @@ QgsRasterCalculator::Result QgsRasterCalculator::processCalculation( QgsFeedback
313
312
}
314
313
315
314
#ifdef HAVE_OPENCL
316
- QgsRasterCalculator::Result QgsRasterCalculator::processCalculationGPU ( QgsFeedback *feedback )
315
+ QgsRasterCalculator::Result QgsRasterCalculator::processCalculationGPU ( std::unique_ptr< QgsRasterCalcNode > calcNode, QgsFeedback *feedback )
317
316
{
318
- std::unique_ptr< QgsRasterCalcNode > calcNode ( QgsRasterCalcNode::parseRasterCalcString ( mFormulaString , mLastError ) );
317
+
319
318
QString cExpression ( calcNode->toString ( true ) );
320
319
321
320
QList<const QgsRasterCalcNode *> nodeList ( calcNode->findNodes ( QgsRasterCalcNode::Type::tRasterRef ) );
Original file line number Diff line number Diff line change 25
25
#include " gdal.h"
26
26
#include " qgis_analysis.h"
27
27
#include " qgsogrutils.h"
28
+ #include " qgsrastercalcnode.h"
28
29
29
30
class QgsRasterLayer ;
30
31
class QgsFeedback ;
@@ -152,7 +153,7 @@ class ANALYSIS_EXPORT QgsRasterCalculator
152
153
void outputGeoTransform ( double *transform ) const ;
153
154
154
155
// ! Execute calculations on GPU
155
- Result processCalculationGPU ( QgsFeedback *feedback = nullptr );
156
+ Result processCalculationGPU ( std::unique_ptr< QgsRasterCalcNode > calcNode, QgsFeedback *feedback = nullptr );
156
157
157
158
QString mFormulaString ;
158
159
QString mOutputFile ;
You can’t perform that action at this time.
0 commit comments