QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsGeometryHoleCheck Class Reference

A hole check. More...

#include <qgsgeometryholecheck.h>

Inheritance diagram for QgsGeometryHoleCheck:
Inheritance graph
[legend]

Public Types

enum  ResolutionMethod { RemoveHoles , NoChange }
 
- Public Types inherited from QgsGeometryCheck
typedef QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
 A collection of changes. More...
 
enum  ChangeType { ChangeAdded , ChangeRemoved , ChangeChanged }
 Description of the type of a change. More...
 
enum  ChangeWhat { ChangeFeature , ChangePart , ChangeRing , ChangeNode }
 Description of a change to indicate at which level a change occurred. More...
 
enum  CheckType { FeatureNodeCheck , FeatureCheck , LayerCheck }
 The type of a check. More...
 
enum  Flag { AvailableInValidation = 1 << 1 }
 Flags for geometry checks. More...
 

Public Member Functions

 QgsGeometryHoleCheck (QgsGeometryCheckContext *context, const QVariantMap &configuration)
 
QgsGeometryCheck::CheckType checkType () const override
 Returns the check type. More...
 
void collectErrors (const QMap< QString, QgsFeaturePool * > &featurePools, QList< QgsGeometryCheckError * > &errors, QStringList &messages, QgsFeedback *feedback, const LayerFeatureIds &ids=LayerFeatureIds()) const override
 The main worker method. More...
 
QList< QgsWkbTypes::GeometryTypecompatibleGeometryTypes () const override
 A list of geometry types for which this check can be performed. More...
 
QString description () const override
 Returns a human readable description for this check. More...
 
void fixError (const QMap< QString, QgsFeaturePool * > &featurePools, QgsGeometryCheckError *error, int method, const QMap< QString, int > &mergeAttributeIndices, Changes &changes) const override
 Fixes the error error with the specified method. More...
 
QString id () const override
 Returns an id for this check. More...
 
Q_DECL_DEPRECATED QStringList resolutionMethods () const override
 Returns a list of descriptions for available resolutions for errors. More...
 
- Public Member Functions inherited from QgsGeometryCheck
 QgsGeometryCheck (const QgsGeometryCheckContext *context, const QVariantMap &configuration)
 Create a new geometry check. More...
 
virtual ~QgsGeometryCheck ()=default
 
virtual QList< QgsGeometryCheckResolutionMethodavailableResolutionMethods () const
 Returns a list of available resolution methods. More...
 
template<class 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. More...
 
const QgsGeometryCheckContextcontext () const
 Returns the context. More...
 
virtual QgsGeometryCheck::Flags flags () const
 Flags for this geometry check. More...
 
virtual bool isCompatible (QgsVectorLayer *layer) const
 Returns if this geometry check is compatible with layer. More...
 
virtual void prepare (const QgsGeometryCheckContext *context, const QVariantMap &configuration)
 Will be run in the main thread before collectErrors is called (which may be run from a background thread). More...
 

Static Public Member Functions

static QgsGeometryCheck::CheckType factoryCheckType ()
 
static QList< QgsWkbTypes::GeometryTypefactoryCompatibleGeometryTypes ()
 
static QString factoryDescription ()
 
static QString factoryId ()
 
static bool factoryIsCompatible (QgsVectorLayer *layer)
 

Additional Inherited Members

- Protected Member Functions inherited from QgsGeometryCheck
QMap< QString, QgsFeatureIdsallLayerFeatureIds (const QMap< QString, QgsFeaturePool * > &featurePools) const
 Returns all layers and feature ids. More...
 
void deleteFeatureGeometryPart (const QMap< QString, QgsFeaturePool * > &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, Changes &changes) const
 Deletes a part of a feature geometry. More...
 
void deleteFeatureGeometryRing (const QMap< QString, QgsFeaturePool * > &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, int ringIdx, Changes &changes) const
 Deletes a ring in a feature geometry. More...
 
void replaceFeatureGeometryPart (const QMap< QString, QgsFeaturePool * > &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, QgsAbstractGeometry *newPartGeom, Changes &changes) const
 Replaces a part in a feature geometry. More...
 
double scaleFactor (const QPointer< QgsVectorLayer > &layer) const
 Determines the scale factor of a layer to the map coordinate reference system. More...
 
- Protected Attributes inherited from QgsGeometryCheck
QVariantMap mConfiguration
 
const QgsGeometryCheckContextmContext
 

Detailed Description

A hole check.

Definition at line 27 of file qgsgeometryholecheck.h.

Member Enumeration Documentation

◆ ResolutionMethod

Enumerator
RemoveHoles 
NoChange 

Definition at line 46 of file qgsgeometryholecheck.h.

Constructor & Destructor Documentation

◆ QgsGeometryHoleCheck()

QgsGeometryHoleCheck::QgsGeometryHoleCheck ( QgsGeometryCheckContext context,
const QVariantMap &  configuration 
)
inlineexplicit

Definition at line 31 of file qgsgeometryholecheck.h.

Member Function Documentation

◆ checkType()

QgsGeometryCheck::CheckType QgsGeometryHoleCheck::checkType ( ) const
inlineoverridevirtual

Returns the check type.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 43 of file qgsgeometryholecheck.h.

◆ collectErrors()

void QgsGeometryHoleCheck::collectErrors ( const QMap< QString, QgsFeaturePool * > &  featurePools,
QList< QgsGeometryCheckError * > &  errors,
QStringList &  messages,
QgsFeedback feedback,
const LayerFeatureIds ids = LayerFeatureIds() 
) const
overridevirtual

The main worker method.

Check all features available from featurePools and write errors found to errors. Other status messages can be written to messages. Progress should be reported to feedback. Only features and layers listed in ids should be checked.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 23 of file qgsgeometryholecheck.cpp.

◆ compatibleGeometryTypes()

QList<QgsWkbTypes::GeometryType> QgsGeometryHoleCheck::compatibleGeometryTypes ( ) const
inlineoverridevirtual

A list of geometry types for which this check can be performed.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 35 of file qgsgeometryholecheck.h.

◆ description()

QString QgsGeometryHoleCheck::description ( ) const
inlineoverridevirtual

Returns a human readable description for this check.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 40 of file qgsgeometryholecheck.h.

◆ factoryCheckType()

static QgsGeometryCheck::CheckType QgsGeometryHoleCheck::factoryCheckType ( )
inlinestatic

Definition at line 44 of file qgsgeometryholecheck.h.

◆ factoryCompatibleGeometryTypes()

static QList<QgsWkbTypes::GeometryType> QgsGeometryHoleCheck::factoryCompatibleGeometryTypes ( )
inlinestatic

Definition at line 33 of file qgsgeometryholecheck.h.

◆ factoryDescription()

static QString QgsGeometryHoleCheck::factoryDescription ( )
inlinestatic

Definition at line 39 of file qgsgeometryholecheck.h.

◆ factoryId()

static QString QgsGeometryHoleCheck::factoryId ( )
inlinestatic

Definition at line 41 of file qgsgeometryholecheck.h.

◆ factoryIsCompatible()

static bool QgsGeometryHoleCheck::factoryIsCompatible ( QgsVectorLayer layer)
inlinestatic

Definition at line 34 of file qgsgeometryholecheck.h.

◆ fixError()

void QgsGeometryHoleCheck::fixError ( const QMap< QString, QgsFeaturePool * > &  featurePools,
QgsGeometryCheckError error,
int  method,
const QMap< QString, int > &  mergeAttributeIndices,
Changes changes 
) const
overridevirtual

Fixes the error error with the specified method.

Is executed on the main thread.

See also
availableResolutionMethods()
Since
QGIS 3.4

Reimplemented from QgsGeometryCheck.

Definition at line 50 of file qgsgeometryholecheck.cpp.

◆ id()

QString QgsGeometryHoleCheck::id ( ) const
inlineoverridevirtual

Returns an id for this check.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 42 of file qgsgeometryholecheck.h.

◆ resolutionMethods()

QStringList QgsGeometryHoleCheck::resolutionMethods ( ) const
overridevirtual

Returns a list of descriptions for available resolutions for errors.

The index will be passed as method to

See also
fixError().
Deprecated:
since QGIS 3.12, use availableResolutionMethods() instead
Since
QGIS 3.4

Reimplemented from QgsGeometryCheck.

Definition at line 86 of file qgsgeometryholecheck.cpp.


The documentation for this class was generated from the following files: