[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48186] trunk/blender/source/blender/ editors/mesh/editmesh_knife.c: This backtracks an error introduced in r48155 when trying to fix: http:// projects.blender.org/tracker/?func=detail&atid=498&aid=31433&group_id=9

Nicholas Rishel rishel.nick at gmail.com
Fri Jun 22 06:40:49 CEST 2012


Revision: 48186
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48186
Author:   nicholas_rishel
Date:     2012-06-22 04:40:38 +0000 (Fri, 22 Jun 2012)
Log Message:
-----------
This backtracks an error introduced in r48155 when trying to fix: http://projects.blender.org/tracker/?func=detail&atid=498&aid=31433&group_id=9

First half of the problem is fixed, but the second issue regarding edge/vertex snapping disregarding angle constraints will need some refactoring eventually.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48155

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_knife.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_knife.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_knife.c	2012-06-22 02:59:07 UTC (rev 48185)
+++ trunk/blender/source/blender/editors/mesh/editmesh_knife.c	2012-06-22 04:40:38 UTC (rev 48186)
@@ -1631,15 +1631,13 @@
 	kcd->cur.mval[0] = kcd->vc.mval[0];
 	kcd->cur.mval[1] = kcd->vc.mval[1];
 
-	/* if angle snapping is enabled, don't snap to edges/vertices */
-	if (kcd->angle_snapping == ANGLE_FREE) {
+	/* XXX knife_snap_angle updates the view coordinate mouse values to constrained angles,
+	 * which current mouse values are set to current mouse values are then used
+	 * for vertex and edge snap detection, without regard to the exact angle constraint */
+	kcd->cur.vert = knife_find_closest_vert(kcd, kcd->cur.co, kcd->cur.cage, &kcd->cur.bmface, &kcd->cur.is_space);
 
-		kcd->cur.vert = knife_find_closest_vert(kcd, kcd->cur.co, kcd->cur.cage, &kcd->cur.bmface, &kcd->cur.is_space);
-
-		if (!kcd->cur.vert) {
-			kcd->cur.edge = knife_find_closest_edge(kcd, kcd->cur.co, kcd->cur.cage, &kcd->cur.bmface, &kcd->cur.is_space);
-		}
-
+	if (!kcd->cur.vert) {
+		kcd->cur.edge = knife_find_closest_edge(kcd, kcd->cur.co, kcd->cur.cage, &kcd->cur.bmface, &kcd->cur.is_space);
 	}
 
 	/* if no hits are found this would normally default to (0, 0, 0) so instead




More information about the Bf-blender-cvs mailing list