QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsvectorlayereditutils.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsvectorlayereditutils.h
3 ---------------------
4 begin : Dezember 2012
5 copyright : (C) 2012 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#ifndef QGSVECTORLAYEREDITUTILS_H
16#define QGSVECTORLAYEREDITUTILS_H
17
18
19#include "qgis_core.h"
20#include "qgis_sip.h"
21#include "qgsfeatureid.h"
22#include "qgsvectorlayer.h"
23
24class QgsCurve;
25class QgsGeometry;
26
31class CORE_EXPORT QgsVectorLayerEditUtils
32{
33 public:
35
41 bool insertVertex( double x, double y, QgsFeatureId atFeatureId, int beforeVertex );
42
48 bool insertVertex( const QgsPoint &point, QgsFeatureId atFeatureId, int beforeVertex );
49
55 bool moveVertex( double x, double y, QgsFeatureId atFeatureId, int atVertex );
56
63 bool moveVertex( const QgsPoint &p, QgsFeatureId atFeatureId, int atVertex ) SIP_PYNAME( moveVertexV2 );
64
70 Qgis::VectorEditResult deleteVertex( QgsFeatureId featureId, int vertex );
71
81 Q_DECL_DEPRECATED Qgis::GeometryOperationResult addRing( const QVector<QgsPointXY> &ring, const QgsFeatureIds &targetFeatureIds = QgsFeatureIds(), QgsFeatureId *modifiedFeatureId = nullptr ) SIP_DEPRECATED;
82
91 Qgis::GeometryOperationResult addRing( const QgsPointSequence &ring, const QgsFeatureIds &targetFeatureIds = QgsFeatureIds(), QgsFeatureId *modifiedFeatureId = nullptr );
92
102 Qgis::GeometryOperationResult addRingV2( QgsCurve *ring SIP_TRANSFER, const QgsFeatureIds &targetFeatureIds = QgsFeatureIds(), QgsFeatureIds *modifiedFeatureIds SIP_OUT = nullptr );
103
113 Qgis::GeometryOperationResult addRing( QgsCurve *ring, const QgsFeatureIds &targetFeatureIds = QgsFeatureIds(), QgsFeatureId *modifiedFeatureId = nullptr ) SIP_PYNAME( addCurvedRing );
114
126 Q_DECL_DEPRECATED Qgis::GeometryOperationResult addPart( const QVector<QgsPointXY> &ring, QgsFeatureId featureId ) SIP_DEPRECATED;
127
140 Qgis::GeometryOperationResult addPart( const QgsPointSequence &ring, QgsFeatureId featureId );
141
154 Qgis::GeometryOperationResult addPart( QgsCurve *ring, QgsFeatureId featureId ) SIP_PYNAME( addCurvedPart );
155
163 int translateFeature( QgsFeatureId featureId, double dx, double dy );
164
180 Q_DECL_DEPRECATED Qgis::GeometryOperationResult splitParts( const QVector<QgsPointXY> &splitLine, bool topologicalEditing = false ) SIP_DEPRECATED;
181
195 Qgis::GeometryOperationResult splitParts( const QgsPointSequence &splitLine, bool topologicalEditing = false );
196
204 Q_DECL_DEPRECATED Qgis::GeometryOperationResult splitFeatures( const QVector<QgsPointXY> &splitLine, bool topologicalEditing = false ) SIP_DEPRECATED;
205
212 Qgis::GeometryOperationResult splitFeatures( const QgsPointSequence &splitLine, bool topologicalEditing = false );
213
223 Qgis::GeometryOperationResult splitFeatures( const QgsCurve *curve, QgsPointSequence &topologyTestPoints SIP_OUT, bool preserveCircular = false, bool topologicalEditing = false );
224
233 int addTopologicalPoints( const QgsGeometry &geom );
234
244 int addTopologicalPoints( const QgsPointXY &p );
245
256 int addTopologicalPoints( const QgsPoint &p );
257
268 int addTopologicalPoints( const QgsPointSequence &ps );
269
282 bool mergeFeatures( const QgsFeatureId &targetFeatureId, const QgsFeatureIds &mergeFeatureIds, const QgsAttributes &mergeAttributes, const QgsGeometry &unionGeometry, QString &errorMessage SIP_OUT );
283
284 private:
285
290 bool boundingBoxFromPointList( const QgsPointSequence &list, double &xmin, double &ymin, double &xmax, double &ymax ) const;
291
292 QgsVectorLayer *mLayer = nullptr;
293};
294
295#endif // QGSVECTORLAYEREDITUTILS_H
GeometryOperationResult
Success or failure of a geometry operation.
Definition: qgis.h:1615
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition: qgis.h:1405
A vector of attributes.
Definition: qgsattributes.h:59
Abstract base class for curved geometry type.
Definition: qgscurve.h:35
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:162
A class to represent a 2D point.
Definition: qgspointxy.h:60
Point geometry type, with support for z-dimension and m-values.
Definition: qgspoint.h:49
Represents a vector layer which manages a vector based data sets.
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
#define SIP_PYNAME(name)
Definition: qgis_sip.h:81
#define SIP_TRANSFER
Definition: qgis_sip.h:36
#define SIP_OUT
Definition: qgis_sip.h:58
QVector< QgsPoint > QgsPointSequence
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeatureid.h:37
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
Definition: qgsfeatureid.h:28