[Bf-blender-cvs] [475d5a38eed] refactor-mesh-hide-generic: Merge branch 'master' into refactor-mesh-hide-generic
Hans Goudey
noreply at git.blender.org
Tue Aug 2 18:17:45 CEST 2022
Commit: 475d5a38eed7a679c1a3cb10714cb7ab88c265a7
Author: Hans Goudey
Date: Tue Aug 2 11:17:31 2022 -0500
Branches: refactor-mesh-hide-generic
https://developer.blender.org/rB475d5a38eed7a679c1a3cb10714cb7ab88c265a7
Merge branch 'master' into refactor-mesh-hide-generic
===================================================================
===================================================================
diff --cc source/blender/editors/sculpt_paint/sculpt.c
index 20cc48f3d83,17acf8d884e..85cc1b526ab
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@@ -344,12 -344,9 +344,11 @@@ int SCULPT_active_face_set_get(SculptSe
void SCULPT_vertex_visible_set(SculptSession *ss, PBVHVertRef vertex, bool visible)
{
switch (BKE_pbvh_type(ss->pbvh)) {
- case PBVH_FACES:
- SET_FLAG_FROM_TEST(ss->mvert[vertex.i].flag, !visible, ME_HIDE);
+ case PBVH_FACES: {
+ bool *hide_vert = BKE_pbvh_get_vert_hide_for_write(ss->pbvh);
+ hide_vert[vertex.i] = visible;
- BKE_pbvh_vert_mark_update(ss->pbvh, vertex);
break;
+ }
case PBVH_BMESH: {
BMVert *v = (BMVert *)vertex.i;
BM_elem_flag_set(v, BM_ELEM_HIDDEN, !visible);
diff --cc source/blender/editors/sculpt_paint/sculpt_undo.c
index eca663d21b9,85778f4f00a..99f6a45ce1a
--- a/source/blender/editors/sculpt_paint/sculpt_undo.c
+++ b/source/blender/editors/sculpt_paint/sculpt_undo.c
@@@ -312,14 -346,15 +346,14 @@@ static bool sculpt_undo_restore_hidden(
SculptSession *ss = ob->sculpt;
SubdivCCG *subdiv_ccg = ss->subdiv_ccg;
- if (unode->maxvert) {
- MVert *mvert = ss->mvert;
+ bool *hide_vert = BKE_pbvh_get_vert_hide_for_write(ss->pbvh);
+ if (unode->maxvert) {
for (int i = 0; i < unode->totvert; i++) {
- MVert *v = &mvert[unode->index[i]];
- if ((BLI_BITMAP_TEST(unode->vert_hidden, i) != 0) != ((v->flag & ME_HIDE) != 0)) {
+ if ((BLI_BITMAP_TEST(unode->vert_hidden, i) != 0) != hide_vert[i]) {
BLI_BITMAP_FLIP(unode->vert_hidden, i);
- hide_vert[i] = !hide_vert[i];
- BKE_pbvh_vert_mark_update(ss->pbvh, BKE_pbvh_make_vref(unode->index[i]));
- v->flag ^= ME_HIDE;
++ hide_vert[unode->index[i]] = !hide_vert[i];
+ modified_vertices[unode->index[i]] = true;
}
}
}
More information about the Bf-blender-cvs
mailing list