QGIS API Documentation  3.14.0-Pi (9f7028fd23)
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 "qgsgeometry.h"
22 #include "qgsfeatureid.h"
23 #include "qgsvectorlayer.h"
24 
25 class QgsCurve;
26 
31 class 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 
71  QgsVectorLayer::EditResult deleteVertex( QgsFeatureId featureId, int vertex );
72 
82  Q_DECL_DEPRECATED QgsGeometry::OperationResult addRing( const QVector<QgsPointXY> &ring, const QgsFeatureIds &targetFeatureIds = QgsFeatureIds(), QgsFeatureId *modifiedFeatureId = nullptr ) SIP_DEPRECATED;
83 
92  QgsGeometry::OperationResult addRing( const QgsPointSequence &ring, const QgsFeatureIds &targetFeatureIds = QgsFeatureIds(), QgsFeatureId *modifiedFeatureId = nullptr );
93 
103  QgsGeometry::OperationResult addRing( QgsCurve *ring, const QgsFeatureIds &targetFeatureIds = QgsFeatureIds(), QgsFeatureId *modifiedFeatureId = nullptr ) SIP_PYNAME( addCurvedRing );
104 
116  Q_DECL_DEPRECATED QgsGeometry::OperationResult addPart( const QVector<QgsPointXY> &ring, QgsFeatureId featureId ) SIP_DEPRECATED;
117 
130  QgsGeometry::OperationResult addPart( const QgsPointSequence &ring, QgsFeatureId featureId );
131 
144  QgsGeometry::OperationResult addPart( QgsCurve *ring, QgsFeatureId featureId ) SIP_PYNAME( addCurvedPart );
145 
153  int translateFeature( QgsFeatureId featureId, double dx, double dy );
154 
170  Q_DECL_DEPRECATED QgsGeometry::OperationResult splitParts( const QVector<QgsPointXY> &splitLine, bool topologicalEditing = false ) SIP_DEPRECATED;
171 
185  QgsGeometry::OperationResult splitParts( const QgsPointSequence &splitLine, bool topologicalEditing = false );
186 
195  Q_DECL_DEPRECATED QgsGeometry::OperationResult splitFeatures( const QVector<QgsPointXY> &splitLine, bool topologicalEditing = false ) SIP_DEPRECATED;
196 
204  QgsGeometry::OperationResult splitFeatures( const QgsPointSequence &splitLine, bool topologicalEditing = false );
205 
212  int addTopologicalPoints( const QgsGeometry &geom );
213 
221  int addTopologicalPoints( const QgsPointXY &p );
222 
231  int addTopologicalPoints( const QgsPoint &p );
232 
233  private:
234 
239  bool boundingBoxFromPointList( const QgsPointSequence &list, double &xmin, double &ymin, double &xmax, double &ymax ) const;
240 
241  QgsVectorLayer *mLayer = nullptr;
242 };
243 
244 #endif // QGSVECTORLAYEREDITUTILS_H
QgsCurve
Abstract base class for curved geometry type.
Definition: qgscurve.h:35
SIP_PYNAME
#define SIP_PYNAME(name)
Definition: qgis_sip.h:81
QgsPoint
Point geometry type, with support for z-dimension and m-values.
Definition: qgspoint.h:37
qgsfeatureid.h
QgsGeometry::OperationResult
OperationResult
Success or failure of a geometry operation.
Definition: qgsgeometry.h:134
SIP_DEPRECATED
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
qgis_sip.h
QgsFeatureIds
QSet< QgsFeatureId > QgsFeatureIds
Definition: qgsfeatureid.h:34
qgsvectorlayer.h
QgsPointXY
Definition: qgspointxy.h:43
qgsgeometry.h
QgsPointSequence
QVector< QgsPoint > QgsPointSequence
Definition: qgsabstractgeometry.h:44
QgsGeometry
Definition: qgsgeometry.h:122
QgsVectorLayer
Definition: qgsvectorlayer.h:385
QgsVectorLayerEditUtils
Definition: qgsvectorlayereditutils.h:31
QgsVectorLayer::EditResult
EditResult
Result of an edit operation.
Definition: qgsvectorlayer.h:399
QgsFeatureId
qint64 QgsFeatureId
Definition: qgsfeatureid.h:25