diff options
Diffstat (limited to 'source/blender/editors')
19 files changed, 62 insertions, 66 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_mask.c b/source/blender/editors/sculpt_paint/paint_mask.c index e65d6ce2d48..693964b2860 100644 --- a/source/blender/editors/sculpt_paint/paint_mask.c +++ b/source/blender/editors/sculpt_paint/paint_mask.c @@ -1428,7 +1428,7 @@ static void project_line_gesture_apply_task_cb(void *__restrict userdata, } add_v3_v3(vd.co, disp); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(sgcontext->ss->pbvh, vd.index); } any_updated = true; } diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index ea3d694542c..5faf9271848 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -349,7 +349,7 @@ void SCULPT_vertex_visible_set(SculptSession *ss, int index, bool visible) switch (BKE_pbvh_type(ss->pbvh)) { case PBVH_FACES: SET_FLAG_FROM_TEST(ss->mvert[index].flag, !visible, ME_HIDE); - ss->mvert[index].flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, index); break; case PBVH_BMESH: BM_elem_flag_set(BM_vert_at_index(ss->bm, index), BM_ELEM_HIDDEN, !visible); @@ -592,7 +592,7 @@ static void UNUSED_FUNCTION(sculpt_visibility_sync_vertex_to_face_sets)(SculptSe ss->face_sets[vert_map->indices[i]] = -abs(ss->face_sets[vert_map->indices[i]]); } } - ss->mvert[index].flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, index); } void SCULPT_visibility_sync_all_vertex_to_face_sets(SculptSession *ss) @@ -1398,7 +1398,7 @@ static void paint_mesh_restore_co_task_cb(void *__restrict userdata, } if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2988,7 +2988,7 @@ static void do_gravity_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], offset, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_boundary.c b/source/blender/editors/sculpt_paint/sculpt_boundary.c index 1e41c5cdbdf..30b2562ecd9 100644 --- a/source/blender/editors/sculpt_paint/sculpt_boundary.c +++ b/source/blender/editors/sculpt_paint/sculpt_boundary.c @@ -688,7 +688,7 @@ static void do_boundary_brush_bend_task_cb_ex(void *__restrict userdata, add_v3_v3(target_co, boundary->bend.pivot_positions[vd.index]); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -734,7 +734,7 @@ static void do_boundary_brush_slide_task_cb_ex(void *__restrict userdata, strength); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -780,7 +780,7 @@ static void do_boundary_brush_inflate_task_cb_ex(void *__restrict userdata, strength); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -823,7 +823,7 @@ static void do_boundary_brush_grab_task_cb_ex(void *__restrict userdata, boundary->edit_info[vd.index].strength_factor * mask * automask * strength); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -877,7 +877,7 @@ static void do_boundary_brush_twist_task_cb_ex(void *__restrict userdata, add_v3_v3(target_co, boundary->twist.pivot_position); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -936,7 +936,7 @@ static void do_boundary_brush_smooth_task_cb_ex(void *__restrict userdata, target_co, vd.co, disp, boundary->edit_info[vd.index].strength_factor * mask * strength); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_brush_types.c b/source/blender/editors/sculpt_paint/sculpt_brush_types.c index 0d2c5641183..eba7cce84cb 100644 --- a/source/blender/editors/sculpt_paint/sculpt_brush_types.c +++ b/source/blender/editors/sculpt_paint/sculpt_brush_types.c @@ -334,7 +334,7 @@ static void do_draw_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], offset, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -428,7 +428,7 @@ static void do_fill_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], val, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -526,7 +526,7 @@ static void do_scrape_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], val, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -644,7 +644,7 @@ static void do_clay_thumb_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], val, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -795,7 +795,7 @@ static void do_flatten_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], val, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } } @@ -952,7 +952,7 @@ static void do_clay_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], val, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1078,7 +1078,7 @@ static void do_clay_strips_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], val, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1278,7 +1278,7 @@ static void do_snake_hook_brush_task_cb_ex(void *__restrict userdata, } if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1364,7 +1364,7 @@ static void do_thumb_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], cono, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1442,7 +1442,7 @@ static void do_rotate_brush_task_cb_ex(void *__restrict userdata, sub_v3_v3(proxy[vd.i], orig_data.co); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1557,7 +1557,7 @@ static void do_layer_brush_task_cb_ex(void *__restrict userdata, SCULPT_clip(sd, ss, vd.co, final_co); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1630,7 +1630,7 @@ static void do_inflate_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3v3(proxy[vd.i], val, ss->cache->scale); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1689,7 +1689,7 @@ static void do_nudge_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], cono, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1781,7 +1781,7 @@ static void do_crease_brush_task_cb_ex(void *__restrict userdata, add_v3_v3v3(proxy[vd.i], val1, val2); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1900,7 +1900,7 @@ static void do_pinch_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], disp_center, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2009,7 +2009,7 @@ static void do_grab_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], grab_delta, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2117,7 +2117,7 @@ static void do_elastic_deform_brush_task_cb_ex(void *__restrict userdata, copy_v3_v3(proxy[vd.i], final_disp); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2190,7 +2190,7 @@ static void do_draw_sharp_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], offset, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2301,7 +2301,7 @@ static void do_topology_slide_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], final_disp, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2427,7 +2427,7 @@ static void do_topology_relax_task_cb_ex(void *__restrict userdata, SCULPT_relax_vertex(ss, &vd, fade * bstrength, false, vd.co); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2507,7 +2507,7 @@ static void do_displacement_eraser_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], disp, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2619,7 +2619,7 @@ static void do_displacement_smear_brush_task_cb_ex(void *__restrict userdata, interp_v3_v3v3(vd.co, vd.co, new_co, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2732,7 +2732,7 @@ static void do_topology_rake_bmesh_task_cb_ex(void *__restrict userdata, SCULPT_clip(sd, ss, vd.co, val); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -2806,7 +2806,7 @@ static void do_mask_brush_draw_task_cb_ex(void *__restrict userdata, *vd.mask = clamp_f(*vd.mask, 0.0f, 1.0f); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } BKE_pbvh_vertex_iter_end; } diff --git a/source/blender/editors/sculpt_paint/sculpt_cloth.c b/source/blender/editors/sculpt_paint/sculpt_cloth.c index 3ac57d73d37..1151f890ef1 100644 --- a/source/blender/editors/sculpt_paint/sculpt_cloth.c +++ b/source/blender/editors/sculpt_paint/sculpt_cloth.c @@ -814,7 +814,7 @@ static void do_cloth_brush_solve_simulation_task_cb_ex( copy_v3_v3(vd.co, cloth_sim->pos[vd.index]); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_dyntopo.c b/source/blender/editors/sculpt_paint/sculpt_dyntopo.c index ae6dcbdbff4..051dc9f6837 100644 --- a/source/blender/editors/sculpt_paint/sculpt_dyntopo.c +++ b/source/blender/editors/sculpt_paint/sculpt_dyntopo.c @@ -240,7 +240,6 @@ static void SCULPT_dynamic_topology_disable_ex( /* Sync the visibility to vertices manually as the pmap is still not initialized. */ for (int i = 0; i < me->totvert; i++) { me->mvert[i].flag &= ~ME_HIDE; - me->mvert[i].flag |= ME_VERT_PBVH_UPDATE; } } diff --git a/source/blender/editors/sculpt_paint/sculpt_expand.c b/source/blender/editors/sculpt_paint/sculpt_expand.c index 2ba03969f38..d332a6448d7 100644 --- a/source/blender/editors/sculpt_paint/sculpt_expand.c +++ b/source/blender/editors/sculpt_paint/sculpt_expand.c @@ -1253,7 +1253,7 @@ static void sculpt_expand_mask_update_task_cb(void *__restrict userdata, *vd.mask = clamp_f(new_mask, 0.0f, 1.0f); any_changed = true; if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -1333,7 +1333,7 @@ static void sculpt_expand_colors_update_task_cb(void *__restrict userdata, copy_v4_v4(vd.col, final_color); any_changed = true; if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_face_set.c b/source/blender/editors/sculpt_paint/sculpt_face_set.c index dc8cda964ea..a4c614e11d9 100644 --- a/source/blender/editors/sculpt_paint/sculpt_face_set.c +++ b/source/blender/editors/sculpt_paint/sculpt_face_set.c @@ -234,7 +234,7 @@ static void do_relax_face_sets_brush_task_cb_ex(void *__restrict userdata, SCULPT_relax_vertex(ss, &vd, fade * bstrength, relax_face_sets, vd.co); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_filter_color.c b/source/blender/editors/sculpt_paint/sculpt_filter_color.c index a0062a98194..cb924259724 100644 --- a/source/blender/editors/sculpt_paint/sculpt_filter_color.c +++ b/source/blender/editors/sculpt_paint/sculpt_filter_color.c @@ -205,7 +205,7 @@ static void color_filter_task_cb(void *__restrict userdata, copy_v3_v3(vd.col, final_color); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_filter_mask.c b/source/blender/editors/sculpt_paint/sculpt_filter_mask.c index cf45e25142b..e85fb19d259 100644 --- a/source/blender/editors/sculpt_paint/sculpt_filter_mask.c +++ b/source/blender/editors/sculpt_paint/sculpt_filter_mask.c @@ -179,7 +179,7 @@ static void mask_filter_task_cb(void *__restrict userdata, update = true; } if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -403,7 +403,7 @@ static void dirty_mask_apply_task_cb(void *__restrict userdata, *vd.mask = CLAMPIS(mask, 0.0f, 1.0f); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_filter_mesh.c b/source/blender/editors/sculpt_paint/sculpt_filter_mesh.c index 2d8bdc4e4ac..70fee4bac8d 100644 --- a/source/blender/editors/sculpt_paint/sculpt_filter_mesh.c +++ b/source/blender/editors/sculpt_paint/sculpt_filter_mesh.c @@ -468,7 +468,7 @@ static void mesh_filter_task_cb(void *__restrict userdata, } copy_v3_v3(vd.co, final_pos); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_mask_expand.c b/source/blender/editors/sculpt_paint/sculpt_mask_expand.c index b59d461bab5..89416687952 100644 --- a/source/blender/editors/sculpt_paint/sculpt_mask_expand.c +++ b/source/blender/editors/sculpt_paint/sculpt_mask_expand.c @@ -153,7 +153,7 @@ static void sculpt_expand_task_cb(void *__restrict userdata, if (*vd.mask != final_mask) { if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } *vd.mask = final_mask; BKE_pbvh_node_mark_update_mask(node); diff --git a/source/blender/editors/sculpt_paint/sculpt_multiplane_scrape.c b/source/blender/editors/sculpt_paint/sculpt_multiplane_scrape.c index 0fec7a9c4bd..67db996e743 100644 --- a/source/blender/editors/sculpt_paint/sculpt_multiplane_scrape.c +++ b/source/blender/editors/sculpt_paint/sculpt_multiplane_scrape.c @@ -216,7 +216,7 @@ static void do_multiplane_scrape_brush_task_cb_ex(void *__restrict userdata, mul_v3_v3fl(proxy[vd.i], val, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_ops.c b/source/blender/editors/sculpt_paint/sculpt_ops.c index f50775f8a32..509bad37b5c 100644 --- a/source/blender/editors/sculpt_paint/sculpt_ops.c +++ b/source/blender/editors/sculpt_paint/sculpt_ops.c @@ -873,7 +873,7 @@ static void do_mask_by_color_contiguous_update_nodes_cb( } update_node = true; if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -980,7 +980,7 @@ static void do_mask_by_color_task_cb(void *__restrict userdata, } update_node = true; if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_paint_color.c b/source/blender/editors/sculpt_paint/sculpt_paint_color.c index 936ebb7e8f7..e4f548bc07f 100644 --- a/source/blender/editors/sculpt_paint/sculpt_paint_color.c +++ b/source/blender/editors/sculpt_paint/sculpt_paint_color.c @@ -104,7 +104,7 @@ static void do_color_smooth_task_cb_exec(void *__restrict userdata, blend_color_interpolate_float(vd.col, vd.col, smooth_color, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -198,7 +198,7 @@ static void do_paint_brush_task_cb_ex(void *__restrict userdata, CLAMP4(vd.col, 0.0f, 1.0f); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -436,7 +436,7 @@ static void do_smear_brush_task_cb_exec(void *__restrict userdata, blend_color_interpolate_float(vd.col, ss->cache->prev_colors[vd.index], interp_color, fade); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_pose.c b/source/blender/editors/sculpt_paint/sculpt_pose.c index 3b939279bf9..37f3f75b95b 100644 --- a/source/blender/editors/sculpt_paint/sculpt_pose.c +++ b/source/blender/editors/sculpt_paint/sculpt_pose.c @@ -212,7 +212,7 @@ static void do_pose_brush_task_cb_ex(void *__restrict userdata, copy_v3_v3(target_co, final_pos); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_smooth.c b/source/blender/editors/sculpt_paint/sculpt_smooth.c index c65489548b7..a306737ed0a 100644 --- a/source/blender/editors/sculpt_paint/sculpt_smooth.c +++ b/source/blender/editors/sculpt_paint/sculpt_smooth.c @@ -247,7 +247,7 @@ static void do_enhance_details_brush_task_cb_ex(void *__restrict userdata, SCULPT_clip(sd, ss, vd.co, disp); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -337,7 +337,7 @@ static void do_smooth_brush_task_cb_ex(void *__restrict userdata, SCULPT_clip(sd, ss, vd.co, val); } if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; @@ -494,7 +494,7 @@ static void SCULPT_do_surface_smooth_brush_laplacian_task_cb_ex( ss, disp, vd.co, ss->cache->surface_smooth_laplacian_disp, vd.index, orig_data.co, alpha); madd_v3_v3fl(vd.co, disp, clamp_f(fade, 0.0f, 1.0f)); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_transform.c b/source/blender/editors/sculpt_paint/sculpt_transform.c index b91e05f226e..c0c3ae1b160 100644 --- a/source/blender/editors/sculpt_paint/sculpt_transform.c +++ b/source/blender/editors/sculpt_paint/sculpt_transform.c @@ -162,7 +162,7 @@ static void sculpt_transform_task_cb(void *__restrict userdata, add_v3_v3v3(vd.co, orig_co, disp); if (vd.mvert) { - vd.mvert->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, vd.index); } } BKE_pbvh_vertex_iter_end; diff --git a/source/blender/editors/sculpt_paint/sculpt_undo.c b/source/blender/editors/sculpt_paint/sculpt_undo.c index 0b64d1f8a35..1a1e21f328c 100644 --- a/source/blender/editors/sculpt_paint/sculpt_undo.c +++ b/source/blender/editors/sculpt_paint/sculpt_undo.c @@ -134,7 +134,7 @@ struct PartialUpdateData { }; /** - * A version of #update_cb that tests for 'ME_VERT_PBVH_UPDATE' + * A version of #update_cb that tests for the update tag in #PBVH.vert_bitmap. */ static void update_cb_partial(PBVHNode *node, void *userdata) { @@ -250,20 +250,20 @@ static bool sculpt_undo_restore_coords(bContext *C, Depsgraph *depsgraph, Sculpt if (ss->deform_modifiers_active) { for (int i = 0; i < unode->totvert; i++) { sculpt_undo_restore_deformed(ss, unode, i, index[i], mvert[index[i]].co); - mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, index[i]); } } else { for (int i = 0; i < unode->totvert; i++) { swap_v3_v3(mvert[index[i]].co, unode->orig_co[i]); - mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, index[i]); } } } else { for (int i = 0; i < unode->totvert; i++) { swap_v3_v3(mvert[index[i]].co, unode->co[i]); - mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, index[i]); } } } @@ -307,7 +307,7 @@ static bool sculpt_undo_restore_hidden(bContext *C, SculptUndoNode *unode) if ((BLI_BITMAP_TEST(unode->vert_hidden, i) != 0) != ((v->flag & ME_HIDE) != 0)) { BLI_BITMAP_FLIP(unode->vert_hidden, i); v->flag ^= ME_HIDE; - v->flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, unode->index[i]); } } } @@ -331,12 +331,11 @@ static bool sculpt_undo_restore_color(bContext *C, SculptUndoNode *unode) if (unode->maxvert) { /* regular mesh restore */ int *index = unode->index; - MVert *mvert = ss->mvert; MPropCol *vcol = ss->vcol; for (int i = 0; i < unode->totvert; i++) { copy_v4_v4(vcol[index[i]].color, unode->col[i]); - mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, index[i]); } } return true; @@ -348,7 +347,6 @@ static bool sculpt_undo_restore_mask(bContext *C, SculptUndoNode *unode) Object *ob = OBACT(view_layer); SculptSession *ss = ob->sculpt; SubdivCCG *subdiv_ccg = ss->subdiv_ccg; - MVert *mvert; float *vmask; int *index; @@ -356,13 +354,12 @@ static bool sculpt_undo_restore_mask(bContext *C, SculptUndoNode *unode) /* Regular mesh restore. */ index = unode->index; - mvert = ss->mvert; vmask = ss->vmask; for (int i = 0; i < unode->totvert; i++) { if (vmask[index[i]] != unode->mask[i]) { SWAP(float, vmask[index[i]], unode->mask[i]); - mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE; + BKE_pbvh_vert_mark_update(ss->pbvh, index[i]); } } } |