From 3fadaa4fcab5ddbd4a5e4d4a0b35bfac19eba07c Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Thu, 13 Apr 2023 22:15:01 +0200 Subject: [PATCH] Cleanup: Remove unused PBVH "respect hide" variable Pull Request: https://projects.blender.org/blender/blender/pulls/106832 --- source/blender/blenkernel/BKE_pbvh.h | 14 +++---------- source/blender/blenkernel/intern/paint.cc | 12 ++++------- source/blender/blenkernel/intern/pbvh.cc | 20 ++----------------- .../blender/blenkernel/intern/pbvh_intern.hh | 1 - 4 files changed, 9 insertions(+), 38 deletions(-) diff --git a/source/blender/blenkernel/BKE_pbvh.h b/source/blender/blenkernel/BKE_pbvh.h index 0d27f9be22d..f11b295afa4 100644 --- a/source/blender/blenkernel/BKE_pbvh.h +++ b/source/blender/blenkernel/BKE_pbvh.h @@ -562,8 +562,6 @@ void BKE_pbvh_update_hide_attributes_from_mesh(PBVH *pbvh); void BKE_pbvh_face_sets_color_set(PBVH *pbvh, int seed, int color_default); -void BKE_pbvh_respect_hide_set(PBVH *pbvh, bool respect_hide); - /* Vertex Deformer. */ float (*BKE_pbvh_vert_coords_alloc(struct PBVH *pbvh))[3]; @@ -591,7 +589,6 @@ typedef struct PBVHVertexIter { int i; int index; PBVHVertRef vertex; - bool respect_hide; /* grid */ struct CCGKey key; @@ -664,14 +661,9 @@ void pbvh_vertex_iter_init(PBVH *pbvh, PBVHNode *node, PBVHVertexIter *vi, int m } \ } \ else if (vi.vert_positions) { \ - if (vi.respect_hide) { \ - vi.visible = !(vi.hide_vert && vi.hide_vert[vi.vert_indices[vi.gx]]); \ - if (mode == PBVH_ITER_UNIQUE && !vi.visible) { \ - continue; \ - } \ - } \ - else { \ - BLI_assert(vi.visible); \ + vi.visible = !(vi.hide_vert && vi.hide_vert[vi.vert_indices[vi.gx]]); \ + if (mode == PBVH_ITER_UNIQUE && !vi.visible) { \ + continue; \ } \ vi.co = vi.vert_positions[vi.vert_indices[vi.gx]]; \ vi.no = vi.vert_normals[vi.vert_indices[vi.gx]]; \ diff --git a/source/blender/blenkernel/intern/paint.cc b/source/blender/blenkernel/intern/paint.cc index b306c86f352..33fe483f815 100644 --- a/source/blender/blenkernel/intern/paint.cc +++ b/source/blender/blenkernel/intern/paint.cc @@ -2171,11 +2171,10 @@ static PBVH *build_pbvh_for_dynamic_topology(Object *ob) return pbvh; } -static PBVH *build_pbvh_from_regular_mesh(Object *ob, Mesh *me_eval_deform, bool respect_hide) +static PBVH *build_pbvh_from_regular_mesh(Object *ob, Mesh *me_eval_deform) { Mesh *me = BKE_object_get_original_mesh(ob); PBVH *pbvh = BKE_pbvh_new(PBVH_FACES); - BKE_pbvh_respect_hide_set(pbvh, respect_hide); BKE_pbvh_build_mesh(pbvh, me); @@ -2188,12 +2187,11 @@ static PBVH *build_pbvh_from_regular_mesh(Object *ob, Mesh *me_eval_deform, bool return pbvh; } -static PBVH *build_pbvh_from_ccg(Object *ob, SubdivCCG *subdiv_ccg, bool respect_hide) +static PBVH *build_pbvh_from_ccg(Object *ob, SubdivCCG *subdiv_ccg) { CCGKey key; BKE_subdiv_ccg_key_top_level(&key, subdiv_ccg); PBVH *pbvh = BKE_pbvh_new(PBVH_GRIDS); - BKE_pbvh_respect_hide_set(pbvh, respect_hide); Mesh *base_mesh = BKE_mesh_from_object(ob); BKE_sculpt_sync_face_visibility_to_grids(base_mesh, subdiv_ccg); @@ -2216,8 +2214,6 @@ PBVH *BKE_sculpt_object_pbvh_ensure(Depsgraph *depsgraph, Object *ob) return nullptr; } - const bool respect_hide = true; - PBVH *pbvh = ob->sculpt->pbvh; if (pbvh != nullptr) { /* NOTE: It is possible that pointers to grids or other geometry data changed. Need to update @@ -2258,11 +2254,11 @@ PBVH *BKE_sculpt_object_pbvh_ensure(Depsgraph *depsgraph, Object *ob) Object *object_eval = DEG_get_evaluated_object(depsgraph, ob); Mesh *mesh_eval = static_cast(object_eval->data); if (mesh_eval->runtime->subdiv_ccg != nullptr) { - pbvh = build_pbvh_from_ccg(ob, mesh_eval->runtime->subdiv_ccg, respect_hide); + pbvh = build_pbvh_from_ccg(ob, mesh_eval->runtime->subdiv_ccg); } else if (ob->type == OB_MESH) { Mesh *me_eval_deform = object_eval->runtime.mesh_deform_eval; - pbvh = build_pbvh_from_regular_mesh(ob, me_eval_deform, respect_hide); + pbvh = build_pbvh_from_regular_mesh(ob, me_eval_deform); } } diff --git a/source/blender/blenkernel/intern/pbvh.cc b/source/blender/blenkernel/intern/pbvh.cc index 7819094cfb6..bb5b0f9ce6d 100644 --- a/source/blender/blenkernel/intern/pbvh.cc +++ b/source/blender/blenkernel/intern/pbvh.cc @@ -335,10 +335,6 @@ static void build_mesh_leaf_node(PBVH *pbvh, PBVHNode *node) node->face_vert_indices = (const int(*)[3])face_vert_indices; - if (pbvh->respect_hide == false) { - has_visible = true; - } - for (int i = 0; i < totface; i++) { const MLoopTri *lt = &pbvh->looptri[node->prim_indices[i]]; for (int j = 0; j < 3; j++) { @@ -1042,7 +1038,6 @@ void BKE_pbvh_build_grids(PBVH *pbvh, PBVH *BKE_pbvh_new(PBVHType type) { PBVH *pbvh = MEM_new(__func__); - pbvh->respect_hide = true; pbvh->draw_cache_invalid = true; pbvh->header.type = type; @@ -2600,7 +2595,7 @@ static bool pbvh_faces_node_raycast(PBVH *pbvh, const MLoopTri *lt = &pbvh->looptri[faces[i]]; const int *face_verts = node->face_vert_indices[i]; - if (pbvh->respect_hide && paint_is_face_hidden(lt, pbvh->hide_poly)) { + if (paint_is_face_hidden(lt, pbvh->hide_poly)) { continue; } @@ -2909,7 +2904,7 @@ static bool pbvh_faces_node_nearest_to_ray(PBVH *pbvh, const MLoopTri *lt = &pbvh->looptri[faces[i]]; const int *face_verts = node->face_vert_indices[i]; - if (pbvh->respect_hide && paint_is_face_hidden(lt, pbvh->hide_poly)) { + if (paint_is_face_hidden(lt, pbvh->hide_poly)) { continue; } @@ -3425,12 +3420,6 @@ void pbvh_vertex_iter_init(PBVH *pbvh, PBVHNode *node, PBVHVertexIter *vi, int m vi->vert_positions = nullptr; vi->vertex.i = 0LL; - vi->respect_hide = pbvh->respect_hide; - if (pbvh->respect_hide == false) { - /* The same value for all vertices. */ - vi->visible = true; - } - BKE_pbvh_node_get_grids(pbvh, node, &grid_indices, &totgrid, nullptr, &gridsize, &grids); BKE_pbvh_node_num_verts(pbvh, node, &uniq_verts, &totvert); const int *vert_indices = BKE_pbvh_node_get_vert_indices(node); @@ -3586,11 +3575,6 @@ void BKE_pbvh_update_hide_attributes_from_mesh(PBVH *pbvh) } } -void BKE_pbvh_respect_hide_set(PBVH *pbvh, bool respect_hide) -{ - pbvh->respect_hide = respect_hide; -} - bool BKE_pbvh_is_drawing(const PBVH *pbvh) { return pbvh->is_drawing; diff --git a/source/blender/blenkernel/intern/pbvh_intern.hh b/source/blender/blenkernel/intern/pbvh_intern.hh index 22c6b1c7fe2..992be2ec2df 100644 --- a/source/blender/blenkernel/intern/pbvh_intern.hh +++ b/source/blender/blenkernel/intern/pbvh_intern.hh @@ -187,7 +187,6 @@ struct PBVH { /* flag are verts/faces deformed */ bool deformed; - bool respect_hide; /* Dynamic topology */ float bm_max_edge_len;