[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59091] trunk/blender/source/blender/bmesh /intern: bmesh_edge_separate: avoid counting radial loops when splitting edges, we only need to check if the edge is boundary or not.
Campbell Barton
ideasman42 at gmail.com
Tue Aug 13 00:36:47 CEST 2013
Revision: 59091
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59091
Author: campbellbarton
Date: 2013-08-12 22:36:46 +0000 (Mon, 12 Aug 2013)
Log Message:
-----------
bmesh_edge_separate: avoid counting radial loops when splitting edges, we only need to check if the edge is boundary or not. will speedup edgesplit modifier a little.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/intern/bmesh_core.c
trunk/blender/source/blender/bmesh/intern/bmesh_core.h
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_core.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_core.c 2013-08-12 22:04:10 UTC (rev 59090)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_core.c 2013-08-12 22:36:46 UTC (rev 59091)
@@ -2114,18 +2114,19 @@
* \note Does nothing if \a l_sep is already the only loop in the
* edge radial.
*/
-bool bmesh_edge_separate(BMesh *bm, BMEdge *e, BMLoop *l_sep)
+void bmesh_edge_separate(BMesh *bm, BMEdge *e, BMLoop *l_sep)
{
BMEdge *e_new;
- int radlen;
+#ifndef NDEBUG
+ const int radlen = bmesh_radial_length(e->l);
+#endif
BLI_assert(l_sep->e == e);
BLI_assert(e->l);
- radlen = bmesh_radial_length(e->l);
- if (radlen < 2) {
+ if (BM_edge_is_boundary(e)) {
/* no cut required */
- return true;
+ return;
}
if (l_sep == e->l) {
@@ -2142,8 +2143,6 @@
BM_CHECK_ELEMENT(e_new);
BM_CHECK_ELEMENT(e);
-
- return true;
}
/**
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_core.h
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_core.h 2013-08-12 22:04:10 UTC (rev 59090)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_core.h 2013-08-12 22:36:46 UTC (rev 59091)
@@ -50,7 +50,7 @@
void BM_edge_kill(BMesh *bm, BMEdge *e);
void BM_vert_kill(BMesh *bm, BMVert *v);
-bool bmesh_edge_separate(BMesh *bm, BMEdge *e, BMLoop *l_sep);
+void bmesh_edge_separate(BMesh *bm, BMEdge *e, BMLoop *l_sep);
bool BM_edge_splice(BMesh *bm, BMEdge *e, BMEdge *e_target);
bool BM_vert_splice(BMesh *bm, BMVert *v, BMVert *v_target);
More information about the Bf-blender-cvs
mailing list