[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37195] branches/bmesh/blender/source/ blender: =bmesh= fixed an edgesplit bug
Joseph Eagar
joeedh at gmail.com
Sun Jun 5 02:54:15 CEST 2011
Revision: 37195
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37195
Author: joeedh
Date: 2011-06-05 00:54:14 +0000 (Sun, 05 Jun 2011)
Log Message:
-----------
=bmesh= fixed an edgesplit bug
Modified Paths:
--------------
branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2011-06-05 00:10:20 UTC (rev 37194)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2011-06-05 00:54:14 UTC (rev 37195)
@@ -2696,9 +2696,9 @@
else BM_SetIndex(e, 0);
}
- /*handle case of one vert selected. we identify
- the closest edge around that vert to the mouse cursor,
- then rip the two adjacent edges in the vert fan.*/
+ /*handle case of one vert selected. identify
+ closest edge around that vert to mouse cursor,
+ then rip two adjacent edges in the vert fan.*/
if (em->bm->totvertsel == 1 && em->bm->totedgesel == 0 && em->bm->totfacesel == 0) {
singlesel = 1;
Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c 2011-06-05 00:10:20 UTC (rev 37194)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c 2011-06-05 00:54:14 UTC (rev 37195)
@@ -72,12 +72,13 @@
em = CDDM_To_BMesh(ob, dm, NULL);
bm = em->bm;
-
+
+ BM_Compute_Normals(bm);
BMO_push(bm, NULL);
if (emd->flags & MOD_EDGESPLIT_FROMANGLE) {
BM_ITER(f, &iter, bm, BM_FACES_OF_MESH, NULL) {
- BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, l) {
+ BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, f) {
float edge_angle_cos;
if (l->radial_next == l)
@@ -91,9 +92,11 @@
}
}
- BM_ITER(e, &iter, bm, BM_EDGES_OF_MESH, NULL) {
- if (BM_TestHFlag(e, BM_SHARP))
- BMO_SetFlag(bm, e, EDGE_MARK);
+ if (emd->flags & MOD_EDGESPLIT_FROMFLAG) {
+ BM_ITER(e, &iter, bm, BM_EDGES_OF_MESH, NULL) {
+ if (BM_TestHFlag(e, BM_SHARP))
+ BMO_SetFlag(bm, e, EDGE_MARK);
+ }
}
BMO_CallOpf(bm, "edgesplit edges=%fe", EDGE_MARK);
More information about the Bf-blender-cvs
mailing list