Fix #32329: inset produces incorrect result, epsilon was too small to handle
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 31 Aug 2012 16:10:13 +0000 (16:10 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Fri, 31 Aug 2012 16:10:13 +0000 (16:10 +0000)
floating point error.

source/blender/bmesh/operators/bmo_inset.c

index 3aa6e6dbe49a3b8e4d713adb3b26f7095d56031c..132d7050b312f98d46168fd70144e280d7120ffd 100644 (file)
@@ -283,7 +283,8 @@ void bmo_inset_exec(BMesh *bm, BMOperator *op)
                                                         * cross product between both face normals */
                                                        add_v3_v3v3(tvec, e_info_a->no, e_info_b->no);
 
-                                                       if ((f_a == f_b) || compare_v3v3(f_a->no, f_b->no, 0.00001f)) {
+                                                       /* epsilon increased to fix [#32329] */
+                                                       if ((f_a == f_b) || compare_v3v3(f_a->no, f_b->no, 0.001f)) {
                                                                normalize_v3(tvec);
                                                        }
                                                        else {