From c7003a7dc80b6b89d5b78f1cde37f16ffa237e44 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Tue, 20 Nov 2012 09:04:55 +0000 Subject: 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! --- source/blender/modifiers/intern/MOD_triangulate.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'source/blender/modifiers/intern/MOD_triangulate.c') diff --git a/source/blender/modifiers/intern/MOD_triangulate.c b/source/blender/modifiers/intern/MOD_triangulate.c index 1e5b10e3d62..645fd5eb2cf 100644 --- a/source/blender/modifiers/intern/MOD_triangulate.c +++ b/source/blender/modifiers/intern/MOD_triangulate.c @@ -39,6 +39,8 @@ static DerivedMesh *triangulate_dm(DerivedMesh *dm, const int flag) { DerivedMesh *result; BMesh *bm; + int total_edges, i; + MEdge *me; bm = DM_to_bmesh(dm); @@ -53,7 +55,12 @@ static DerivedMesh *triangulate_dm(DerivedMesh *dm, const int flag) 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); -- cgit v1.2.3