QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
qgsoverlayutils.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsoverlayutils.h
3 ---------------------
4 Date : April 2018
5 Copyright : (C) 2018 by Martin Dobias
6 Email : wonder dot sk at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSOVERLAYUTILS_H
17#define QGSOVERLAYUTILS_H
18
19#include "qgsgeometry.h"
20#include "qgswkbtypes.h"
21
22#include <QList>
23
24#define SIP_NO_FILE
25
27
29class QgsFeatureSink;
30class QgsFields;
33
34namespace QgsOverlayUtils
35{
36
38 enum DifferenceOutput
39 {
40 OutputA,
41 OutputAB,
42 OutputBA,
43 };
44
45
51 enum SanitizeFlag
52 {
53 DontPromotePointGeometryToMultiPoint = 1 << 0,
54 };
55
61 Q_DECLARE_FLAGS( SanitizeFlags, SanitizeFlag )
62
63
64 void difference( const QgsFeatureSource &sourceA, const QgsFeatureSource &sourceB, QgsFeatureSink &sink, QgsProcessingContext &context, QgsProcessingFeedback *feedback, long &count, long totalCount, DifferenceOutput outputAttrs, const QgsGeometryParameters &parameters = QgsGeometryParameters(), SanitizeFlags flags = SanitizeFlags() );
65
66 void intersection( const QgsFeatureSource &sourceA, const QgsFeatureSource &sourceB, QgsFeatureSink &sink, QgsProcessingContext &context, QgsProcessingFeedback *feedback, long &count, long totalCount, const QList<int> &fieldIndicesA, const QList<int> &fieldIndicesB, const QgsGeometryParameters &parameters = QgsGeometryParameters() );
67
69 bool sanitizeIntersectionResult( QgsGeometry &geom, Qgis::GeometryType geometryType, SanitizeFlags flags = SanitizeFlags() );
70
81 void resolveOverlaps( const QgsFeatureSource &source, QgsFeatureSink &sink, QgsProcessingFeedback *feedback, const QgsGeometryParameters &parameters = QgsGeometryParameters(), SanitizeFlags flags = SanitizeFlags() );
82} // namespace QgsOverlayUtils
83
84Q_DECLARE_OPERATORS_FOR_FLAGS( QgsOverlayUtils::SanitizeFlags )
85
86
87
88#endif // QGSOVERLAYUTILS_H
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:358
An interface for objects which accept features via addFeature(s) methods.
An interface for objects which provide features via a getFeatures method.
Container of fields for a vector layer.
Definition qgsfields.h:46
Contains information about the context in which a processing algorithm is executed.
Base class for providing feedback from a processing algorithm.
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsProjectionSelectionWidget::CrsOptions)