QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsgeometrycheckerror.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsgeometrycheckerror.h
3 --------
4 begin : September 2018
5 copyright : (C) 2018 by Denis Rouzaud
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSGEOMETRYCHECKERROR_H
19#define QGSGEOMETRYCHECKERROR_H
20
21#include "qgis_analysis.h"
22
23#include "qgsgeometrycheck.h"
25
26class QgsPointXY;
27
35class ANALYSIS_EXPORT QgsGeometryCheckError
36{
37 public:
38
42 enum Status
43 {
47 StatusObsolete
48 };
49
54 {
57 ValueOther
58 };
59
67 const QgsGeometryCheckerUtils::LayerFeature &layerFeature,
68 const QgsPointXY &errorLocation,
69 QgsVertexId vidx = QgsVertexId(),
70 const QVariant &value = QVariant(),
71 ValueType valueType = ValueOther );
72
73 virtual ~QgsGeometryCheckError() = default;
74
76
80 const QgsGeometryCheck *check() const { return mCheck; }
81
85 const QString &layerId() const { return mLayerId; }
86
90 QgsFeatureId featureId() const { return mFeatureId; }
91
95 QgsGeometry geometry() const;
96
105 virtual QgsRectangle contextBoundingBox() const;
106
110 virtual QgsRectangle affectedAreaBBox() const;
111
116 virtual QString description() const { return mCheck->description(); }
117
121 const QgsPointXY &location() const { return mErrorLocation; }
122
128 QVariant value() const { return mValue; }
129
134 ValueType valueType() const { return mValueType; }
135
140 const QgsVertexId &vidx() const { return mVidx; }
141
145 Status status() const { return mStatus; }
146
150 QString resolutionMessage() const { return mResolutionMessage; }
151
156 void setFixed( int method );
157
161 void setFixFailed( const QString &reason );
162
166 void setObsolete() { mStatus = StatusObsolete; }
167
173 virtual bool isEqual( QgsGeometryCheckError *other ) const;
174
179 virtual bool closeMatch( QgsGeometryCheckError * /*other*/ ) const;
180
185 virtual void update( const QgsGeometryCheckError *other );
186
190 virtual bool handleChanges( const QgsGeometryCheck::Changes &changes ) SIP_SKIP;
191
199 virtual QMap<QString, QgsFeatureIds > involvedFeatures() const SIP_SKIP;
200
206 virtual QIcon icon() const;
207 protected:
208
218 const QString &layerId,
219 QgsFeatureId featureId,
220 const QgsGeometry &geometry,
221 const QgsPointXY &errorLocation,
222 QgsVertexId vidx = QgsVertexId(),
223 const QVariant &value = QVariant(),
224 ValueType valueType = ValueOther );
225
226 const QgsGeometryCheck *mCheck = nullptr;
227 QString mLayerId;
228 QgsFeatureId mFeatureId;
229 QgsGeometry mGeometry;
230 QgsPointXY mErrorLocation;
232 QVariant mValue;
233 ValueType mValueType;
234 Status mStatus;
235 QString mResolutionMessage;
236
237 private:
238
239#ifdef SIP_RUN
240 const QgsGeometryCheckError &operator=( const QgsGeometryCheckError & );
241#endif
242};
243
245
246#endif // QGSGEOMETRYCHECKERROR_H
This represents an error reported by a geometry check.
ValueType
Describes the type of an error value.
@ ValueArea
The value is an area.
@ ValueLength
The value is a length.
Status
The status of an error.
@ StatusPending
The error is detected and pending to be handled.
@ StatusFixed
The error is fixed.
@ StatusFixFailed
A fix has been tried on the error but failed.
Status status() const
The status of the error.
QString resolutionMessage() const
A message with details, how the error has been resolved.
const QgsVertexId & vidx() const
The id of the affected vertex.
QgsFeatureId featureId() const
The id of the feature on which this error has been detected.
virtual ~QgsGeometryCheckError()=default
virtual QString description() const
The error description.
ValueType valueType() const
The type of the value.
QVariant value() const
An additional value for the error.
void setObsolete()
Set the error status to obsolete.
const QgsGeometryCheck * check() const
The geometry check that created this error.
const QString & layerId() const
The id of the layer on which this error has been detected.
const QgsGeometryCheckError & operator=(const QgsGeometryCheckError &)=delete
const QgsPointXY & location() const
The location of the error in map units.
This class implements a geometry check.
QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
A collection of changes.
A layer feature combination to uniquely identify and access a feature in a set of layers.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:162
A class to represent a 2D point.
Definition: qgspointxy.h:60
A rectangle specified with double values.
Definition: qgsrectangle.h:42
#define SIP_SKIP
Definition: qgis_sip.h:126
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
Definition: qgsfeatureid.h:28
Utility class for identifying a unique vertex within a geometry.
Definition: qgsvertexid.h:30