31 , mConfiguration( configuration )
46 Q_UNUSED( featurePools )
49 Q_UNUSED( mergeAttributeIndices )
55 QMap<QString, QgsFeatureIds> featureIds;
58 featureIds.insert( pool->layerId(), pool->allFeatureIds() );
72 geomCollection->removeGeometry( partIdx );
73 geomCollection->addGeometry( newPartGeom );
91 if ( dynamic_cast<QgsGeometryCollection *>( geom ) )
94 if ( static_cast<QgsGeometryCollection *>( geom )->numGeometries() == 0 )
115 int partIdx,
int ringIdx,
Changes &changes )
const 120 if ( dynamic_cast<QgsCurvePolygon *>( partGeom ) )
129 static_cast<QgsCurvePolygon *
>( partGeom )->removeInteriorRing( ringIdx - 1 );
This change happens on part level.
double scaleFactor(const QPointer< QgsVectorLayer > &layer) const
Determines the scale factor of a layer to the map coordinate reference system.
static QgsAbstractGeometry * getGeomPart(QgsAbstractGeometry *geom, int partIdx)
Something has been added.
const QgsCoordinateReferenceSystem mapCrs
The coordinate system in which calculations should be done.
Curve polygon geometry type.
QgsWkbTypes::GeometryType geometryType() const
Returns point, line or polygon.
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 QList< QgsWkbTypes::GeometryType > compatibleGeometryTypes() const =0
A list of geometry types for which this check can be performed.
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.
virtual void updateFeature(QgsFeature &feature)=0
Updates a feature in this pool.
Base configuration for geometry checks.
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.
Something has been removed.
This change happens on ring level.
Utility class for identifying a unique vertex within a geometry.
QgsGeometryCheck(const QgsGeometryCheckContext *context, const QVariantMap &configuration)
Create a new 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 QgsGeometryCheckContext * mContext
QgsRectangle extent() const FINAL
Returns the extent of the layer.
QgsAbstractGeometry * get()
Returns a modifiable (non-const) reference to the underlying abstract geometry primitive.
QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
A collection of changes.
A feature pool is based on a vector layer and caches features.
virtual void fixError(const QMap< QString, QgsFeaturePool *> &featurePools, QgsGeometryCheckError *error, int method, const QMap< QString, int > &mergeAttributeIndices, Changes &changes) const
Fix the error error with the specified method.
Descripts a change to fix a geometry.
void setGeometry(const QgsGeometry &geometry)
Set the feature's geometry.
virtual void deleteFeature(QgsFeatureId fid)=0
Removes a feature from this pool.
const QgsCoordinateTransformContext transformContext
The coordinate transform context with which transformations will be done.
virtual QgsGeometryCheck::Flags flags() const
Flags for this geometry check.
This represents an error reported by a geometry check.
Represents a vector layer which manages a vector based data sets.
Something has been updated.
void deleteFeatureGeometryPart(const QMap< QString, QgsFeaturePool *> &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, Changes &changes) const
Deletes a part of a feature geometry.
This change happens on feature level.
virtual bool isCompatible(QgsVectorLayer *layer) const
Returns if this geometry check is compatible with layer.
QgsCoordinateReferenceSystem crs