[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52398] trunk/blender/source/blender/ modifiers/intern/MOD_triangulate.c: Skip CDDM_calc_edges since it' s a costly operation.
Antony Riakiotakis
kalast at gmail.com
Tue Nov 20 10:04:57 CET 2012
Revision: 52398
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52398
Author: psy-fi
Date: 2012-11-20 09:04:55 +0000 (Tue, 20 Nov 2012)
Log Message:
-----------
Skip CDDM_calc_edges since it's a costly operation. Instead make sure
all edges are set to draw. Thanks to Campbel for pointing that out!
Modified Paths:
--------------
trunk/blender/source/blender/modifiers/intern/MOD_triangulate.c
Modified: trunk/blender/source/blender/modifiers/intern/MOD_triangulate.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_triangulate.c 2012-11-20 08:04:53 UTC (rev 52397)
+++ trunk/blender/source/blender/modifiers/intern/MOD_triangulate.c 2012-11-20 09:04:55 UTC (rev 52398)
@@ -39,6 +39,8 @@
{
DerivedMesh *result;
BMesh *bm;
+ int total_edges, i;
+ MEdge *me;
bm = DM_to_bmesh(dm);
@@ -53,8 +55,13 @@
result = CDDM_from_bmesh(bm, FALSE);
BM_mesh_free(bm);
- CDDM_calc_edges(result);
+ total_edges = result->getNumEdges(result);
+ me = CDDM_get_edges(result);
+ /* force drawing of all edges (seems to be omitted in CDDM_from_bmesh) */
+ for (i = 0; i < total_edges; i++, me++)
+ me->flag |= ME_EDGEDRAW | ME_EDGERENDER;
+
CDDM_calc_normals(result);
return result;
More information about the Bf-blender-cvs
mailing list