QGIS API Documentation 3.41.0-Master (cea29feecf2)
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 <QList>
20#include "qgswkbtypes.h"
21#include "qgsgeometry.h"
22#define SIP_NO_FILE
23
25
27class QgsFeatureSink;
28class QgsFields;
31
32namespace QgsOverlayUtils
33{
34
36 enum DifferenceOutput
37 {
38 OutputA,
39 OutputAB,
40 OutputBA,
41 };
42
43
49 enum SanitizeFlag
50 {
51 DontPromotePointGeometryToMultiPoint = 1 << 0,
52 };
53
59 Q_DECLARE_FLAGS( SanitizeFlags, SanitizeFlag )
60
61
62 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() );
63
64 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() );
65
67 bool sanitizeIntersectionResult( QgsGeometry &geom, Qgis::GeometryType geometryType, SanitizeFlags flags = SanitizeFlags() );
68
79 void resolveOverlaps( const QgsFeatureSource &source, QgsFeatureSink &sink, QgsProcessingFeedback *feedback, const QgsGeometryParameters &parameters = QgsGeometryParameters(), SanitizeFlags flags = SanitizeFlags() );
80} // namespace QgsOverlayUtils
81
82Q_DECLARE_OPERATORS_FOR_FLAGS( QgsOverlayUtils::SanitizeFlags )
83
84
85
86#endif // QGSOVERLAYUTILS_H
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:337
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
Encapsulates parameters under which a geometry operation is performed.
A geometry is the spatial representation of a feature.
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(QgsTextRendererUtils::CurvedTextFlags)