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>2021-01-06 10:45:35 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-01-06 11:04:53 +0300
commit4b56c1829073d85a9c9dedd5e6cd7bd8b584debd (patch)
treea63ec61e3ac00d54b6eb5eb4a47edf9ad337d0f0 /source/blender/bmesh
parent947dc920835bcd9116a9a03e5958526509c58ff4 (diff)
Fix T84426: Limit dissolve ignores selection with custom normals
Regression in 9969c2dd165c7d8ffe607a5a050a80aa59ac50be. Add note that custom normal calculation functions write into to tags.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/intern/bmesh_mesh.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_mesh.c b/source/blender/bmesh/intern/bmesh_mesh.c
index 634db9276a6..5e879d41d43 100644
--- a/source/blender/bmesh/intern/bmesh_mesh.c
+++ b/source/blender/bmesh/intern/bmesh_mesh.c
@@ -669,6 +669,9 @@ bool BM_loop_check_cyclic_smooth_fan(BMLoop *l_curr)
* BMesh version of BKE_mesh_normals_loop_split() in mesh_evaluate.c
* Will use first clnors_data array, and fallback to cd_loop_clnors_offset
* (use NULL and -1 to not use clnors).
+ *
+ * \note This sets #BM_ELEM_TAG which is used in tool code (e.g. T84426).
+ * we could add a low-level API flag for this, see #BM_ELEM_API_FLAG_ENABLE and friends.
*/
static void bm_mesh_loops_calc_normals(BMesh *bm,
const float (*vcos)[3],
@@ -1555,6 +1558,10 @@ void BM_lnorspace_rebuild(BMesh *bm, bool preserve_clnor)
#endif
}
+/**
+ * \warning This function sets #BM_ELEM_TAG on loops & edges via #bm_mesh_loops_calc_normals,
+ * take care to run this before setting up tags.
+ */
void BM_lnorspace_update(BMesh *bm)
{
if (bm->lnor_spacearr == NULL) {
@@ -1889,6 +1896,10 @@ void BM_loop_normal_editdata_array_free(BMLoopNorEditDataArray *lnors_ed_arr)
MEM_freeN(lnors_ed_arr);
}
+/**
+ * \warning This function sets #BM_ELEM_TAG on loops & edges via #bm_mesh_loops_calc_normals,
+ * take care to run this before setting up tags.
+ */
bool BM_custom_loop_normals_to_vector_layer(BMesh *bm)
{
BMFace *f;