[QGIS Commit] r8150 - trunk/qgis/src/core

svn_qgis at osgeo.org svn_qgis at osgeo.org
Wed Feb 13 03:48:07 EST 2008


Author: mhugent
Date: 2008-02-13 03:48:07 -0500 (Wed, 13 Feb 2008)
New Revision: 8150

Modified:
   trunk/qgis/src/core/qgsvectorlayer.cpp
Log:
Commited patch from Stefanie for QgsVectorLayer::snapToGeometry

Modified: trunk/qgis/src/core/qgsvectorlayer.cpp
===================================================================
--- trunk/qgis/src/core/qgsvectorlayer.cpp	2008-02-13 03:41:10 UTC (rev 8149)
+++ trunk/qgis/src/core/qgsvectorlayer.cpp	2008-02-13 08:48:07 UTC (rev 8150)
@@ -2850,6 +2850,8 @@
 	    }
 	  snappingResultVertex.snappedAtGeometry = featureId;
 	  snappingResultVertex.layer = this;
+	  snappingResults.insert(sqrt(sqrDistVertexSnap), snappingResultVertex);
+	  return;
 	}
     }
   if(snap_to == QgsSnapper::SNAP_TO_SEGMENT || snap_to == QgsSnapper::SNAP_TO_VERTEX_AND_SEGMENT) //snap to segment
@@ -2868,29 +2870,11 @@
 	      snappingResultSegment.beforeVertex = geom->vertexAt(afterVertex - 1);
 	      snappingResultSegment.afterVertex = geom->vertexAt(afterVertex);
 	      snappingResultSegment.layer = this;
+	      snappingResults.insert(sqrt(sqrDistSegmentSnap), snappingResultSegment);
 	    }
 	}
     }
   
-  if(snap_to == QgsSnapper::SNAP_TO_VERTEX && sqrDistVertexSnap < sqrSnappingTolerance)
-    {
-      snappingResults.insert(sqrt(sqrDistVertexSnap), snappingResultVertex);
-    }
-  else if(snap_to == QgsSnapper::SNAP_TO_SEGMENT && sqrDistSegmentSnap < sqrSnappingTolerance && vectorType() != QGis::Point)
-    {
-      snappingResults.insert(sqrt(sqrDistSegmentSnap), snappingResultSegment);
-    }
-  else if(snap_to == QgsSnapper::SNAP_TO_VERTEX_AND_SEGMENT) //to vertex and segment
-    {
-      if(sqrDistVertexSnap < sqrSnappingTolerance)
-	{
-	  snappingResults.insert(sqrt(sqrDistVertexSnap), snappingResultVertex);
-	}
-      else if(sqrDistSegmentSnap < sqrSnappingTolerance && vectorType() != QGis::Point)
-	{
-	  snappingResults.insert(sqrt(sqrDistSegmentSnap), snappingResultSegment);
-	}
-    }
 }
 
 int QgsVectorLayer::insertSegmentVerticesForSnap(const QList<QgsSnappingResult>& snapResults)



More information about the QGIS-commit mailing list