[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54271] trunk/blender/source/blender: fix for error in own recent change, sculpt triangulate was done on a bmesh with uninitialized faces normals,

Campbell Barton ideasman42 at gmail.com
Sun Feb 3 09:13:15 CET 2013


Revision: 54271
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54271
Author:   campbellbarton
Date:     2013-02-03 08:13:15 +0000 (Sun, 03 Feb 2013)
Log Message:
-----------
fix for error in own recent change, sculpt triangulate was done on a bmesh with uninitialized faces normals,
add warning that BM_mesh_bm_from_me() dosn't calculate face normals.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
    trunk/blender/source/blender/editors/sculpt_paint/sculpt.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2013-02-03 08:07:14 UTC (rev 54270)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2013-02-03 08:13:15 UTC (rev 54271)
@@ -162,7 +162,11 @@
 	return cd_flag;
 }
 
-/* Mesh -> BMesh */
+/**
+ * \brief Mesh -> BMesh
+ *
+ * \warning This function doesn't calculate face normals.
+ */
 void BM_mesh_bm_from_me(BMesh *bm, Mesh *me, bool set_key, int act_key_nr)
 {
 	MVert *mvert;
@@ -465,7 +469,9 @@
 }
 
 
-/* BMesh -> Mesh */
+/**
+ * \brief BMesh -> Mesh
+ */
 static BMVert **bm_to_mesh_vertex_map(BMesh *bm, int ototvert)
 {
 	BMVert **vertMap = NULL;

Modified: trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/sculpt.c	2013-02-03 08:07:14 UTC (rev 54270)
+++ trunk/blender/source/blender/editors/sculpt_paint/sculpt.c	2013-02-03 08:13:15 UTC (rev 54271)
@@ -4571,6 +4571,7 @@
 	ss->bm = BM_mesh_create(&bm_mesh_allocsize_default);
 
 	BM_mesh_bm_from_me(ss->bm, me, TRUE, ob->shapenr);
+	BM_mesh_normals_update(ss->bm, false);
 	sculpt_dynamic_topology_triangulate(ss->bm);
 	BM_data_layer_add(ss->bm, &ss->bm->vdata, CD_PAINT_MASK);
 	BM_mesh_normals_update(ss->bm, TRUE);




More information about the Bf-blender-cvs mailing list