Skip to content

Commit a60ebc7

Browse files
author
mhugent
committed
Commited patch from Stefanie for QgsVectorLayer::snapToGeometry
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@8150 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 40f8ba5 commit a60ebc7

File tree

1 file changed

+3
-19
lines changed

1 file changed

+3
-19
lines changed

src/core/qgsvectorlayer.cpp

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2850,6 +2850,8 @@ void QgsVectorLayer::snapToGeometry(const QgsPoint& startPoint, int featureId, Q
28502850
}
28512851
snappingResultVertex.snappedAtGeometry = featureId;
28522852
snappingResultVertex.layer = this;
2853+
snappingResults.insert(sqrt(sqrDistVertexSnap), snappingResultVertex);
2854+
return;
28532855
}
28542856
}
28552857
if(snap_to == QgsSnapper::SNAP_TO_SEGMENT || snap_to == QgsSnapper::SNAP_TO_VERTEX_AND_SEGMENT) //snap to segment
@@ -2868,29 +2870,11 @@ void QgsVectorLayer::snapToGeometry(const QgsPoint& startPoint, int featureId, Q
28682870
snappingResultSegment.beforeVertex = geom->vertexAt(afterVertex - 1);
28692871
snappingResultSegment.afterVertex = geom->vertexAt(afterVertex);
28702872
snappingResultSegment.layer = this;
2873+
snappingResults.insert(sqrt(sqrDistSegmentSnap), snappingResultSegment);
28712874
}
28722875
}
28732876
}
28742877

2875-
if(snap_to == QgsSnapper::SNAP_TO_VERTEX && sqrDistVertexSnap < sqrSnappingTolerance)
2876-
{
2877-
snappingResults.insert(sqrt(sqrDistVertexSnap), snappingResultVertex);
2878-
}
2879-
else if(snap_to == QgsSnapper::SNAP_TO_SEGMENT && sqrDistSegmentSnap < sqrSnappingTolerance && vectorType() != QGis::Point)
2880-
{
2881-
snappingResults.insert(sqrt(sqrDistSegmentSnap), snappingResultSegment);
2882-
}
2883-
else if(snap_to == QgsSnapper::SNAP_TO_VERTEX_AND_SEGMENT) //to vertex and segment
2884-
{
2885-
if(sqrDistVertexSnap < sqrSnappingTolerance)
2886-
{
2887-
snappingResults.insert(sqrt(sqrDistVertexSnap), snappingResultVertex);
2888-
}
2889-
else if(sqrDistSegmentSnap < sqrSnappingTolerance && vectorType() != QGis::Point)
2890-
{
2891-
snappingResults.insert(sqrt(sqrDistSegmentSnap), snappingResultSegment);
2892-
}
2893-
}
28942878
}
28952879

28962880
int QgsVectorLayer::insertSegmentVerticesForSnap(const QList<QgsSnappingResult>& snapResults)

0 commit comments

Comments
 (0)