QGIS API Documentation
3.14.0-Pi (9f7028fd23)
|
Go to the documentation of this file.
18 #ifndef QGSPROCESSINGCONTEXT_H
19 #define QGSPROCESSINGCONTEXT_H
21 #include "qgis_core.h"
52 Q_DECLARE_FLAGS( Flags, Flag )
72 mFlags = other.mFlags;
73 mProject = other.mProject;
74 mTransformContext = other.mTransformContext;
75 mExpressionContext = other.mExpressionContext;
76 mInvalidGeometryCallback = other.mInvalidGeometryCallback;
77 mInvalidGeometryCheck = other.mInvalidGeometryCheck;
78 mTransformErrorCallback = other.mTransformErrorCallback;
79 mDefaultEncoding = other.mDefaultEncoding;
80 mFeedback = other.mFeedback;
87 QgsProcessingContext::Flags
flags()
const {
return mFlags; }
93 void setFlags( QgsProcessingContext::Flags flags ) { mFlags = flags; }
167 , outputName( outputName )
168 , layerTypeHint( layerTypeHint )
217 void setOutputLayerName(
QgsMapLayer *layer )
const;
238 return mLayersToLoadOnCompletion;
252 return mLayersToLoadOnCompletion.contains( layer );
262 void setLayersToLoadOnCompletion(
const QMap< QString, QgsProcessingContext::LayerDetails > &layers );
289 return mLayersToLoadOnCompletion[ layer ];
316 void setInvalidGeometryCallback( SIP_PYCALLABLE / AllowNone / );
318 Py_BEGIN_ALLOW_THREADS
320 sipCpp->setInvalidGeometryCallback( [a0](
const QgsFeature &arg )
323 Py_XDECREF( sipCallMethod( NULL, a0,
"D", &arg, sipType_QgsFeature, NULL ) );
357 void setTransformErrorCallback( SIP_PYCALLABLE / AllowNone / );
359 Py_BEGIN_ALLOW_THREADS
361 sipCpp->setTransformErrorCallback( [a0](
const QgsFeature &arg )
364 Py_XDECREF( sipCallMethod( NULL, a0,
"D", &arg, sipType_QgsFeature, NULL ) );
413 QThread *
thread() {
return tempLayerStore.thread(); }
424 Q_ASSERT_X( QThread::currentThread() ==
QgsProcessingContext::thread(),
"QgsProcessingContext::pushToThread",
"Cannot push context to another thread unless the current thread matches the existing context thread affinity" );
425 tempLayerStore.moveToThread( thread );
447 QgsMapLayer *getMapLayer(
const QString &identifier );
535 QgsProcessingContext::Flags mFlags = QgsProcessingContext::Flags();
536 QPointer< QgsProject > mProject;
542 std::function< void(
const QgsFeature & ) > mInvalidGeometryCallback;
543 std::function< void(
const QgsFeature & ) > mTransformErrorCallback;
544 QString mDefaultEncoding;
545 QMap< QString, LayerDetails > mLayersToLoadOnCompletion;
547 QPointer< QgsProcessingFeedback > mFeedback;
549 QString mPreferredVectorFormat;
550 QString mPreferredRasterFormat;
557 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingContext::Flags )
597 #endif // QGSPROCESSINGPARAMETERS_H
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
QMap< QString, QgsProcessingContext::LayerDetails > layersToLoadOnCompletion() const
Returns a map of layers (by ID or datasource) to LayerDetails, to load into the canvas upon completio...
bool willLoadLayerOnCompletion(const QString &layer) const
Returns true if the given layer (by ID or datasource) will be loaded into the current project upon co...
QgsProject * project() const
Returns the project in which the algorithm is being executed.
QString preferredVectorFormat() const
Returns the preferred vector format to use for vector outputs.
QgsCoordinateTransformContext transformContext
QThread * thread()
Returns the thread in which the context lives.
LayerHint
Layer type hints.
InvalidGeometryCheck
Handling of features with invalid geometries.
void setTransformErrorCallback(const std::function< void(const QgsFeature &) > &callback)
Sets a callback function to use when encountering a transform error when iterating features.
void pushToThread(QThread *thread)
Pushes the thread affinity for the context (including all layers contained in the temporaryLayerStore...
LayerDetails(const QString &name, QgsProject *project, const QString &outputName=QString(), QgsProcessingUtils::LayerHint layerTypeHint=QgsProcessingUtils::LayerHint::UnknownType)
Constructor for LayerDetails.
QgsFeatureRequest::InvalidGeometryCheck invalidGeometryCheck() const
Returns the behavior used for checking invalid geometries in input layers.
std::function< void(const QgsFeature &) > transformErrorCallback() const
Returns the callback function to use when encountering a transform error when iterating features.
QString defaultEncoding() const
Returns the default encoding to use for newly created files.
void setDefaultEncoding(const QString &encoding)
Sets the default encoding to use for newly created files.
QString name
Friendly name for layer, possibly for use when loading layer into project.
void copyThreadSafeSettings(const QgsProcessingContext &other)
Copies all settings which are safe for use across different threads from other to this context.
void setInvalidGeometryCallback(const std::function< void(const QgsFeature &) > &callback)
Sets a callback function to use when encountering an invalid geometry and invalidGeometryCheck() is s...
QString preferredRasterFormat() const
Returns the preferred raster format to use for vector outputs.
void setExpressionContext(const QgsExpressionContext &context)
Sets the expression context.
QgsCoordinateTransformContext transformContext() const
Returns the coordinate transform context.
An interface for layer post-processing handlers for execution following a processing algorithm operat...
void setTransformContext(const QgsCoordinateTransformContext &context)
Sets the coordinate transform context.
Flag
Flags that affect how processing algorithms are run.
Details for layers to load into projects.
const QgsExpressionContext & expressionContext() const
Returns the expression context.
QgsMapLayerStore * temporaryLayerStore()
Returns a reference to the layer store used for storing temporary layers during algorithm execution.
QgsProcessingFeedback * feedback()
Returns the associated feedback object.
void setFeedback(QgsProcessingFeedback *feedback)
Sets an associated feedback object.
QString outputName
Associated output name from algorithm which generated the layer.
QgsProcessingContext::LayerDetails & layerToLoadOnCompletionDetails(const QString &layer)
Returns a reference to the details for a given layer which is loaded on completion of the algorithm o...
QgsExpressionContext & expressionContext()
Returns the expression context.
QgsProcessingContext::Flags flags() const
Returns any flags set in the context.
@ GeometryNoCheck
No invalid geometry checking.
void setPreferredVectorFormat(const QString &format)
Sets the preferred vector format to use for vector outputs.
void setProject(QgsProject *project)
Sets the project in which the algorithm will be executed.
std::function< void(const QgsFeature &) > invalidGeometryCallback() const
Returns the callback function to use when encountering an invalid geometry and invalidGeometryCheck()...
void setPreferredRasterFormat(const QString &format)
Sets the preferred raster format to use for vector outputs.
void setFlags(QgsProcessingContext::Flags flags)
Sets flags for the context.
@ UnknownType
Unknown layer type.