Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-02-03 12:13:15 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-02-03 12:13:15 +0400
commit4e94fca8965a0012631b4fd92c96fce41fd1d3d9 (patch)
treedd6ba156381e736af6f79cde5490e1430e75676f /source/blender
parentc6491074992e939d1c2838a133e340b12a230afe (diff)
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.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/bmesh/intern/bmesh_mesh_conv.c10
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c1
2 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/bmesh/intern/bmesh_mesh_conv.c b/source/blender/bmesh/intern/bmesh_mesh_conv.c
index a63b715fd14..6697430a88d 100644
--- a/source/blender/bmesh/intern/bmesh_mesh_conv.c
+++ b/source/blender/bmesh/intern/bmesh_mesh_conv.c
@@ -162,7 +162,11 @@ char BM_mesh_cd_flag_from_bmesh(BMesh *bm)
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 @@ void BM_mesh_bm_from_me(BMesh *bm, Mesh *me, bool set_key, int act_key_nr)
}
-/* BMesh -> Mesh */
+/**
+ * \brief BMesh -> Mesh
+ */
static BMVert **bm_to_mesh_vertex_map(BMesh *bm, int ototvert)
{
BMVert **vertMap = NULL;
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index a81115aeae3..82d279cc8b8 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -4571,6 +4571,7 @@ void sculpt_dynamic_topology_enable(bContext *C)
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);