QgsInternalGeometrySnapper class

QgsInternalGeometrySnapper allows a set of geometries to be snapped to each other.

It can be used to close gaps in layers.

To use QgsInternalGeometrySnapper, first construct the snapper using the desired snap parameters. Then, features are fed to to the snapper one-by-one by calling snapFeature(). Each feature passed by calling snapFeature() will be snapped to any features which have already been processed by the snapper.

After processing all desired features, the results can be fetched by calling snappedGeometries(). The returned QgsGeometryMap can be passed to QgsVectorDataProvider::changeGeometryValues() to save the snapped geometries back to the source layer.

Constructors, destructors, conversion operators

QgsInternalGeometrySnapper(double snapTolerance, QgsGeometrySnapper::SnapMode mode = QgsGeometrySnapper::PreferNodes)
Constructor for QgsInternalGeometrySnapper.

Public functions

auto snapFeature(const QgsFeature& feature) -> QgsGeometry
Snaps a single feature's geometry against all feature geometries already processed by calls to snapFeature() in this object, and returns the snapped geometry.
auto snappedGeometries() const -> QgsGeometryMap
Returns a QgsGeometryMap of all feature geometries snapped by this object.

Function documentation

QgsInternalGeometrySnapper::QgsInternalGeometrySnapper(double snapTolerance, QgsGeometrySnapper::SnapMode mode = QgsGeometrySnapper::PreferNodes)

Constructor for QgsInternalGeometrySnapper.

The snapTolerance and mode parameters dictate how geometries will be snapped by the snapper.