QGIS API Documentation 4.1.0-Master (60fea48833c)
Loading...
Searching...
No Matches
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#include "qgsgeometrycheck.h"
24
25class QgsPointXY;
26
34class ANALYSIS_EXPORT QgsGeometryCheckError
35{
36 public:
47
57
65 const QgsGeometryCheck *check,
66 const QgsGeometryCheckerUtils::LayerFeature &layerFeature,
67 const QgsPointXY &errorLocation,
68 QgsVertexId vidx = QgsVertexId(),
69 const QVariant &value = QVariant(),
70 ValueType valueType = ValueOther
71 );
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
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
208 protected:
218 const QgsGeometryCheck *check,
219 const QString &layerId,
220 QgsFeatureId featureId,
221 const QgsGeometry &geometry,
222 const QgsPointXY &errorLocation,
223 QgsVertexId vidx = QgsVertexId(),
224 const QVariant &value = QVariant(),
225 ValueType valueType = ValueOther
226 );
227
228 const QgsGeometryCheck *mCheck = nullptr;
229 QString mLayerId;
234 QVariant mValue;
238
239 private:
240#ifdef SIP_RUN
242#endif
243};
244
246
247#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.
@ ValueOther
The value if of another type.
@ 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.
@ StatusObsolete
The error is obsolete because of other modifications.
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
const QgsGeometryCheck * mCheck
virtual QString description() const
The error description.
QgsGeometryCheckError(const QgsGeometryCheck *check, const QgsGeometryCheckerUtils::LayerFeature &layerFeature, const QgsPointXY &errorLocation, QgsVertexId vidx=QgsVertexId(), const QVariant &value=QVariant(), ValueType valueType=ValueOther)
Create a new geometry check error with the parent check and for the layerFeature pair at the errorLoc...
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.
Base class for geometry checks.
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.
Represents a 2D point.
Definition qgspointxy.h:62
A rectangle specified with double values.
#define SIP_SKIP
Definition qgis_sip.h:133
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
Utility class for identifying a unique vertex within a geometry.
Definition qgsvertexid.h:34