16#ifndef QGS_GEOMETRY_CHECK_H 
   17#define QGS_GEOMETRY_CHECK_H 
   19#include <QApplication> 
   24#include "qgis_analysis.h" 
  111        QMap<QString, QgsFeatureIds> 
toMap()
 const 
 
  118          return ids.isEmpty();
 
 
 
  165      AvailableInValidation = 1 << 1 
 
 
  206          return what == other.
what && type == other.
type && vidx == other.
vidx;
 
 
  211          return !( *
this == other );
 
 
 
  219    typedef QMap<QString, QMap<QgsFeatureId, QList<QgsGeometryCheck::Change>>> 
Changes;
 
  243      return mConfiguration.value( name, 
QgsSettings().value( 
"/geometry_checker/" + 
id() + 
"/" + name, defaultValue ) ).value<T>();
 
 
  291    virtual QList<QgsGeometryCheckResolutionMethod> availableResolutionMethods() 
const;
 
  300    Q_DECL_DEPRECATED 
virtual QStringList resolutionMethods() const 
SIP_DEPRECATED;
 
  307    virtual QString description() const = 0;
 
  314    virtual QString 
id() const = 0;
 
  337    QMap<QString, QgsFeatureIds> allLayerFeatureIds( 
const QMap<QString, QgsFeaturePool *> &featurePools ) 
const SIP_SKIP;
 
  345    void replaceFeatureGeometryPart( 
const QMap<QString, QgsFeaturePool *> &featurePools, 
const QString &layerId, 
QgsFeature &feature, 
int partIdx, 
QgsAbstractGeometry *newPartGeom, Changes &changes ) 
const SIP_SKIP;
 
  353    void deleteFeatureGeometryPart( 
const QMap<QString, QgsFeaturePool *> &featurePools, 
const QString &layerId, 
QgsFeature &feature, 
int partIdx, Changes &changes ) 
const SIP_SKIP;
 
  361    void deleteFeatureGeometryRing( 
const QMap<QString, QgsFeaturePool *> &featurePools, 
const QString &layerId, 
QgsFeature &feature, 
int partIdx, 
int ringIdx, Changes &changes ) 
const SIP_SKIP;
 
  372    double scaleFactor( 
const QPointer<QgsVectorLayer> &layer ) 
const SIP_SKIP;
 
 
Abstract base class for all geometries.
 
A feature pool is based on a vector layer and caches features.
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
 
Base class for feedback objects to be used for cancellation of something running in a worker thread.
 
Base configuration for geometry checks.
 
This represents an error reported by a geometry check.
 
Base class for geometry checks.
 
QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
A collection of changes.
 
virtual void collectErrors(const QMap< QString, QgsFeaturePool * > &featurePools, QList< QgsGeometryCheckError * > &errors, QStringList &messages, QgsFeedback *feedback, const LayerFeatureIds &ids=QgsGeometryCheck::LayerFeatureIds()) const =0
The main worker method.
 
T configurationValue(const QString &name, const QVariant &defaultValue=QVariant())
Returns the configuration value with the name, saved in the QGIS settings for this geometry check.
 
const QgsGeometryCheckContext * mContext
 
ChangeWhat
Description of a change to indicate at which level a change occurred.
 
@ ChangeRing
This change happens on ring level.
 
@ ChangeFeature
This change happens on feature level.
 
@ ChangePart
This change happens on part level.
 
Flag
Flags for geometry checks.
 
CheckType
The type of a check.
 
@ FeatureNodeCheck
The check controls individual nodes.
 
@ FeatureCheck
The check controls geometries as a whole.
 
QVariantMap mConfiguration
 
ChangeType
Description of the type of a change.
 
@ ChangeAdded
Something has been added.
 
@ ChangeRemoved
Something has been removed.
 
virtual ~QgsGeometryCheck()=default
 
virtual QList< Qgis::GeometryType > compatibleGeometryTypes() const =0
A list of geometry types for which this check can be performed.
 
Stores settings for use within QGIS.
 
Represents a vector layer which manages a vector based dataset.
 
#define SIP_ENUM_BASETYPE(type)
 
Descripts a change to fix a geometry.
 
Change(QgsGeometryCheck::ChangeWhat _what, QgsGeometryCheck::ChangeType _type, QgsVertexId _vidx=QgsVertexId())
Create a new Change.
 
QgsGeometryCheck::ChangeType type
What action this change performs.
 
QgsVertexId vidx
The index of the part / ring / vertex, depending on.
 
QgsGeometryCheck::ChangeWhat what
What level this change affects.
 
bool operator==(const QgsGeometryCheck::Change &other) const
 
bool operator!=(const QgsGeometryCheck::Change &other) const
 
A list of layers and feature ids for each of these layers.
 
QMap< QString, QgsFeatureIds > toMap() const
 
LayerFeatureIds()=default
 
Utility class for identifying a unique vertex within a geometry.