[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52223] trunk/blender/source/blender/bmesh /operators/bmo_bevel.c: Fix 'polygon eating' problem in bevel (bug #33141)
Howard Trickey
howard.trickey at gmail.com
Thu Nov 15 03:05:33 CET 2012
Revision: 52223
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52223
Author: howardt
Date: 2012-11-15 02:05:32 +0000 (Thu, 15 Nov 2012)
Log Message:
-----------
Fix 'polygon eating' problem in bevel (bug #33141)
which was due to almost-parallel lines.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
Modified: trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_bevel.c 2012-11-15 02:04:23 UTC (rev 52222)
+++ trunk/blender/source/blender/bmesh/operators/bmo_bevel.c 2012-11-15 02:05:32 UTC (rev 52223)
@@ -110,6 +110,7 @@
float offset; /* blender units to offset each side of a beveled edge */
int seg; /* number of segments in beveled edge profile */
} BevelParams;
+#include "bevdebug.c"
/* Make a new BoundVert of the given kind, insert it at the end of the circular linked
* list with entry point bv->boundstart, and return it. */
@@ -378,9 +379,12 @@
madd_v3_v3fl(off2a, norm_perp2, e2->offset);
add_v3_v3v3(off2b, off2a, dir2);
- if (!isect_line_line_v3(off1a, off1b, off2a, off2b, meetco, isect2)) {
+ if (fabs(angle_v3v3(dir1, dir2)) < BEVEL_EPSILON) {
/* lines are parallel; off1a is a good meet point */
copy_v3_v3(meetco, off1a);
+ } else if (!isect_line_line_v3(off1a, off1b, off2a, off2b, meetco, isect2)) {
+ /* another test says they are parallel */
+ copy_v3_v3(meetco, off1a);
}
}
More information about the Bf-blender-cvs
mailing list