@@ -36,10 +36,39 @@ class CORE_EXPORT QgsGeometryEngine
36
36
virtual void geometryChanged () = 0;
37
37
virtual void prepareGeometry () = 0;
38
38
39
+ /* *
40
+ * Calculate the intersection of this and \a geom.
41
+ *
42
+ * \since QGIS 3.0 \a geom is a pointer
43
+ */
39
44
virtual QgsAbstractGeometry *intersection ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
45
+
46
+ /* *
47
+ * Calculate the difference of this and \a geom.
48
+ *
49
+ * \since QGIS 3.0 \a geom is a pointer
50
+ */
40
51
virtual QgsAbstractGeometry *difference ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
52
+
53
+ /* *
54
+ * Calculate the combination of this and \a geom.
55
+ *
56
+ * \since QGIS 3.0 \a geom is a pointer
57
+ */
41
58
virtual QgsAbstractGeometry *combine ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
42
- virtual QgsAbstractGeometry *combine ( const QList< QgsAbstractGeometry * > &, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
59
+
60
+ /* *
61
+ * Calculate the combination of this and \a geometries.
62
+ *
63
+ * \since QGIS 3.0 \a geom is a pointer
64
+ */
65
+ virtual QgsAbstractGeometry *combine ( const QList< QgsAbstractGeometry * > &geometries, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
66
+
67
+ /* *
68
+ * Calculate the symmetric difference of this and \a geom.
69
+ *
70
+ * \since QGIS 3.0 \a geom is a pointer
71
+ */
43
72
virtual QgsAbstractGeometry *symDifference ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
44
73
virtual QgsAbstractGeometry *buffer ( double distance, int segments, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
45
74
virtual QgsAbstractGeometry *buffer ( double distance, int segments, int endCapStyle, int joinStyle, double miterLimit, QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
@@ -49,13 +78,61 @@ class CORE_EXPORT QgsGeometryEngine
49
78
virtual bool centroid ( QgsPoint &pt, QString *errorMsg = nullptr ) const = 0;
50
79
virtual bool pointOnSurface ( QgsPoint &pt, QString *errorMsg = nullptr ) const = 0;
51
80
virtual QgsAbstractGeometry *convexHull ( QString *errorMsg = nullptr ) const = 0 SIP_FACTORY;
81
+
82
+ /* *
83
+ * Calculates the distance between this and \a geom.
84
+ *
85
+ * \since QGIS 3.0 \a geom is a pointer
86
+ */
52
87
virtual double distance ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
88
+
89
+ /* *
90
+ * Checks if \a geom intersects this.
91
+ *
92
+ * \since QGIS 3.0 \a geom is a pointer
93
+ */
53
94
virtual bool intersects ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
95
+
96
+ /* *
97
+ * Checks if \a geom touches this.
98
+ *
99
+ * \since QGIS 3.0 \a geom is a pointer
100
+ */
54
101
virtual bool touches ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
102
+
103
+ /* *
104
+ * Checks if \a geom crosses this.
105
+ *
106
+ * \since QGIS 3.0 \a geom is a pointer
107
+ */
55
108
virtual bool crosses ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
109
+
110
+ /* *
111
+ * Checks if \a geom is within this.
112
+ *
113
+ * \since QGIS 3.0 \a geom is a pointer
114
+ */
56
115
virtual bool within ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
116
+
117
+ /* *
118
+ * Checks if \a geom overlaps this.
119
+ *
120
+ * \since QGIS 3.0 \a geom is a pointer
121
+ */
57
122
virtual bool overlaps ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
123
+
124
+ /* *
125
+ * Checks if \a geom contains this.
126
+ *
127
+ * \since QGIS 3.0 \a geom is a pointer
128
+ */
58
129
virtual bool contains ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
130
+
131
+ /* *
132
+ * Checks if \a geom is disjoint from this.
133
+ *
134
+ * \since QGIS 3.0 \a geom is a pointer
135
+ */
59
136
virtual bool disjoint ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
60
137
61
138
/* * Returns the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the
@@ -80,6 +157,13 @@ class CORE_EXPORT QgsGeometryEngine
80
157
virtual double area ( QString *errorMsg = nullptr ) const = 0;
81
158
virtual double length ( QString *errorMsg = nullptr ) const = 0;
82
159
virtual bool isValid ( QString *errorMsg = nullptr ) const = 0;
160
+
161
+ /* *
162
+ * Checks if this is equal to \a geom.
163
+ * If both are Null geometries, `false` is returned.
164
+ *
165
+ * \since QGIS 3.0 \a geom is a pointer
166
+ */
83
167
virtual bool isEqual ( const QgsAbstractGeometry *geom, QString *errorMsg = nullptr ) const = 0;
84
168
virtual bool isEmpty ( QString *errorMsg ) const = 0;
85
169
0 commit comments