29 for (
int iPart = 0, nParts = geom->
partCount(); iPart < nParts; ++iPart )
49 if ( !testGeomEngine->isValid() )
51 messages.append( tr(
"Point in polygon check failed for (%1): the geometry is invalid" ).arg( checkFeature.id() ) );
54 if ( testGeomEngine->contains( point ) && !testGeomEngine->touches( point ) )
59 if ( nTested == 0 || nTested != nInside )
69 Q_UNUSED( featurePools )
83 static QStringList methods = QStringList() << tr(
"No action" );
A rectangle specified with double values.
static QgsAbstractGeometry * getGeomPart(QgsAbstractGeometry *geom, int partIdx)
QMap< QString, QgsFeatureIds > toMap() const
Contains a set of layers and feature ids in those layers to pass to a geometry check.
CheckType
The type of a check.
QList< QgsWkbTypes::GeometryType > compatibleGeometryTypes() const override
A list of geometry types for which this check can be performed.
void setFixFailed(const QString &reason)
Set the error status to failed and specify the reason for failure.
Base class for feedback objects to be used for cancellation of something running in a worker thread...
static QgsGeometryCheck::CheckType factoryCheckType()
Utility class for identifying a unique vertex within a geometry.
A layer feature combination to uniquely identify and access a feature in a set of layers...
const double reducedTolerance
The tolerance to allow for in geometry checks.
Abstract base class for all geometries.
QMap< QString, QgsFeatureIds > allLayerFeatureIds(const QMap< QString, QgsFeaturePool *> &featurePools) const
Returns all layers and feature ids.
const QgsGeometryCheckContext * mContext
Point geometry type, with support for z-dimension and m-values.
A list of layers and feature ids for each of these layers.
QStringList resolutionMethods() const override
Returns a list of descriptions for available resolutions for errors.
QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
A collection of changes.
const double tolerance
The tolerance to allow for in geometry checks.
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.
void setFixed(int method)
Set the status to fixed and specify the method that has been used to fix the error.
void collectErrors(const QMap< QString, QgsFeaturePool *> &featurePools, QList< QgsGeometryCheckError *> &errors, QStringList &messages, QgsFeedback *feedback, const LayerFeatureIds &ids=LayerFeatureIds()) const override
The main worker method.
This represents an error reported by a geometry check.
static std::unique_ptr< QgsGeometryEngine > createGeomEngine(const QgsAbstractGeometry *geometry, double tolerance)
virtual int partCount() const =0
Returns count of parts contained in the geometry.
The check controls individual nodes.