27 mCheckLayer = checkLayer;
43 if ( !mIndex || !mCheckLayer )
49 featureIds.remove( mCheckLayer->
id() );
63 QgsRectangle searchBounds = geomt.constGet()->boundingBox();
70 if ( refFeatureIds.isEmpty() )
84 if ( !( geomEngine->contains( reducedRefGeom.constGet() ) || geomEngine->disjoint( reducedRefGeom.constGet() ) ) )
96 Q_UNUSED( featurePools )
98 if ( method == NoChange )
110 static QStringList methods = QStringList() << tr(
"No action" );
Wrapper for iterator of features from vector data provider or vector layer.
A rectangle specified with double values.
QSet< QgsFeatureId > QgsFeatureIds
OperationResult transform(const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection direction=QgsCoordinateTransform::ForwardTransform, bool transformZ=false) SIP_THROW(QgsCsException)
Transforms this geometry as described by the coordinate transform ct.
A class to represent a 2D point.
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.
A geometry is the spatial representation of a feature.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
virtual QgsAbstractGeometry * clone() const =0
Clones the geometry by performing a deep copy.
void setFixFailed(const QString &reason)
Set the error status to failed and specify the reason for failure.
virtual QgsPoint centroid() const
Returns the centroid of the geometry.
Base class for feedback objects to be used for cancellation of something running in a worker thread...
Base configuration for geometry checks.
void collectErrors(const QMap< QString, QgsFeaturePool *> &featurePools, QList< QgsGeometryCheckError *> &errors, QStringList &messages, QgsFeedback *feedback, const LayerFeatureIds &ids=LayerFeatureIds()) const override
The main worker method.
QString id() const
Returns the layer's unique ID, which is used to access this layer from QgsProject.
void grow(double delta)
Grows the rectangle in place by the specified amount.
static QgsGeometryCheck::CheckType factoryCheckType()
~QgsGeometryFollowBoundariesCheck() override
QgsFeatureRequest & setNoAttributes()
Set that no attributes will be fetched.
A layer feature combination to uniquely identify and access a feature in a set of layers...
This class wraps a request for features to a vector layer (or directly its vector data provider)...
This class implements a geometry check.
Abstract base class for all geometries.
QMap< QString, QgsFeatureIds > allLayerFeatureIds(const QMap< QString, QgsFeaturePool *> &featurePools) const
Returns all layers and feature ids.
const double tolerance
The tolerance to allow for in geometry checks.
const QgsGeometryCheckContext * mContext
QList< QgsWkbTypes::GeometryType > compatibleGeometryTypes() const override
A list of geometry types for which this check can be performed.
A list of layers and feature ids for each of these layers.
const QgsAbstractGeometry * constGet() const
Returns a non-modifiable (const) reference to the underlying abstract geometry primitive.
A spatial index for QgsFeature objects.
QgsFeatureRequest & setFilterFids(const QgsFeatureIds &fids)
Sets feature IDs that should be fetched.
QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
A collection of changes.
QStringList resolutionMethods() const override
Returns a list of descriptions for available resolutions for errors.
static QgsProject * instance()
Returns the QgsProject singleton instance.
void setFixed(int method)
Set the status to fixed and specify the method that has been used to fix the error.
QgsFeatureIterator getFeatures(const QgsFeatureRequest &request=QgsFeatureRequest()) const FINAL
Queries the layer for features specified in request.
QgsVectorDataProvider * dataProvider() FINAL
Returns the layer's data provider, it may be nullptr.
This represents an error reported by a geometry check.
static std::unique_ptr< QgsGeometryEngine > createGeomEngine(const QgsAbstractGeometry *geometry, double tolerance)
bool nextFeature(QgsFeature &f)
void fixError(const QMap< QString, QgsFeaturePool *> &featurePools, QgsGeometryCheckError *error, int method, const QMap< QString, int > &mergeAttributeIndices, Changes &changes) const override
Fix the error error with the specified method.
Represents a vector layer which manages a vector based data sets.
QList< QgsFeatureId > intersects(const QgsRectangle &rectangle) const
Returns a list of features with a bounding box which intersects the specified rectangle.
QgsGeometryFollowBoundariesCheck(QgsGeometryCheckContext *context, const QVariantMap &configuration, QgsVectorLayer *checkLayer)
QgsCoordinateReferenceSystem crs
The check controls individual nodes.