Blender V5.0
blender::bke::pbvh::Tree Class Reference

#include <BKE_paint_bvh.hh>

Public Member Functions

 Tree (const Tree &other)=delete
 Tree (Tree &&other)=default
Treeoperator= (const Tree &other)=delete
Treeoperator= (Tree &&other)=default
 ~Tree ()
int nodes_num () const
template<typename NodeT>
Span< NodeT > nodes () const
template<typename NodeT>
MutableSpan< NodeT > nodes ()
Type type () const
void tag_positions_changed (const IndexMask &node_mask)
void tag_visibility_changed (const IndexMask &node_mask)
void tag_topology_changed (const IndexMask &node_mask)
void tag_face_sets_changed (const IndexMask &node_mask)
void tag_masks_changed (const IndexMask &node_mask)
void tag_attribute_changed (const IndexMask &node_mask, StringRef attribute_name)
void flush_bounds_to_parents ()
void update_bounds (const Depsgraph &depsgraph, const Object &object)
void update_bounds_mesh (Span< float3 > vert_positions)
void update_bounds_grids (Span< float3 > positions, int grid_area)
void update_bounds_bmesh (const BMesh &bm)
void update_normals (Object &object_orig, Object &object_eval)
void update_visibility (const Object &object)
template<>
Span< MeshNodenodes () const
template<>
Span< GridsNodenodes () const
template<>
Span< BMeshNodenodes () const
template<>
MutableSpan< MeshNodenodes ()
template<>
MutableSpan< GridsNodenodes ()
template<>
MutableSpan< BMeshNodenodes ()

Static Public Member Functions

static Tree from_mesh (const Mesh &mesh)
static Tree from_grids (const Mesh &base_mesh, const SubdivCCG &subdiv_ccg)
static Tree from_bmesh (BMesh &bm)

Public Attributes

std::variant< Vector< MeshNode >, Vector< GridsNode >, Vector< BMeshNode > > nodes_
pixels::PBVHDatapixels_ = nullptr
std::unique_ptr< DrawCachedraw_data

Detailed Description

Todo
Most data is public but should either be removed or become private in the future. The "_" suffix means that fields shouldn't be used by consumers of the bke::pbvh API.

Definition at line 231 of file BKE_paint_bvh.hh.

Constructor & Destructor Documentation

◆ Tree() [1/2]

blender::bke::pbvh::Tree::Tree ( const Tree & other)
delete

◆ Tree() [2/2]

blender::bke::pbvh::Tree::Tree ( Tree && other)
default

References Tree().

◆ ~Tree()

Member Function Documentation

◆ flush_bounds_to_parents()

void blender::bke::pbvh::Tree::flush_bounds_to_parents ( )

Run the last step of the BVH bounds recalculation process, propagating updated leaf node bounds to their parent/ancestor inner nodes. This is meant to be used after leaf node bounds have been computed separately.

Definition at line 1306 of file pbvh.cc.

References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::begin(), blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bits(), i, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::is_empty(), blender::Bounds< T >::max, blender::bounds::merge(), blender::Bounds< T >::min, nodes(), nodes_, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), and blender::index_mask::IndexMask::size().

Referenced by blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::brushes::do_bmesh_topology_rake_brush(), blender::ed::sculpt_paint::brushes::do_clay_brush(), blender::ed::sculpt_paint::brushes::do_clay_strips_brush(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_displacement_eraser_brush(), blender::ed::sculpt_paint::brushes::do_displacement_smear_brush(), blender::ed::sculpt_paint::brushes::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::brushes::do_elastic_deform_brush(), blender::ed::sculpt_paint::brushes::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::brushes::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_layer_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::brushes::do_pinch_brush(), blender::ed::sculpt_paint::brushes::do_plane_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::brushes::do_rotate_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::boundary::do_slide_brush(), blender::ed::sculpt_paint::boundary::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_snake_hook_brush(), blender::ed::sculpt_paint::brushes::do_thumb_brush(), blender::ed::sculpt_paint::brushes::do_topology_slide_brush(), blender::ed::sculpt_paint::boundary::do_twist_brush(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::brushes::offset_positions(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), blender::ed::sculpt_paint::transform_radius_elastic(), update_bounds_bmesh(), update_bounds_grids(), and update_bounds_mesh().

◆ from_bmesh()

◆ from_grids()

◆ from_mesh()

◆ nodes() [1/8]

template<typename NodeT>
MutableSpan< NodeT > blender::bke::pbvh::Tree::nodes ( )

References bm, depsgraph, Tree(), and type().

◆ nodes() [2/8]

template<>
MutableSpan< BMeshNode > blender::bke::pbvh::Tree::nodes ( )

Definition at line 615 of file pbvh.cc.

References nodes_.

◆ nodes() [3/8]

template<>
MutableSpan< GridsNode > blender::bke::pbvh::Tree::nodes ( )

Definition at line 611 of file pbvh.cc.

References nodes_.

◆ nodes() [4/8]

template<>
MutableSpan< MeshNode > blender::bke::pbvh::Tree::nodes ( )

Definition at line 607 of file pbvh.cc.

References nodes_.

◆ nodes() [5/8]

template<typename NodeT>
Span< NodeT > blender::bke::pbvh::Tree::nodes ( ) const

Referenced by blender::ed::sculpt_paint::mask::apply_mask_from_settings(), blender::ed::sculpt_paint::mask::apply_new_mask_bmesh(), blender::ed::sculpt_paint::mask::apply_new_mask_grids(), blender::ed::sculpt_paint::mask::apply_new_mask_mesh(), blender::ed::sculpt_paint::average_mask_border_position(), blender::ed::sculpt_paint::average_unmasked_position(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), blender::ed::sculpt_paint::calc_area_center(), blender::ed::sculpt_paint::calc_area_normal(), blender::ed::sculpt_paint::calc_area_normal_and_center(), blender::ed::sculpt_paint::auto_mask::Cache::calc_cavity_factor(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::ed::sculpt_paint::filter::calc_enhance_details_filter(), blender::ed::sculpt_paint::filter::calc_erase_displacement_filter(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::filter::calc_random_filter(), blender::ed::sculpt_paint::filter::calc_relax_face_sets_filter(), blender::ed::sculpt_paint::filter::calc_relax_filter(), blender::ed::sculpt_paint::filter::calc_scale_filter(), blender::ed::sculpt_paint::filter::calc_sharpen_filter(), blender::ed::sculpt_paint::filter::calc_smooth_filter(), blender::ed::sculpt_paint::calc_smooth_translations(), blender::ed::sculpt_paint::filter::calc_sphere_filter(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::islands::calc_topology_islands_bmesh(), calculate_average_weight(), blender::ed::sculpt_paint::face_set::clear_face_sets(), blender::ed::sculpt_paint::cloth::cloth_brush_apply_brush_forces(), blender::ed::sculpt_paint::cloth::cloth_sim_initialize_default_node_state(), blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::brushes::do_bmesh_topology_rake_brush(), blender::ed::sculpt_paint::brushes::do_clay_brush(), blender::ed::sculpt_paint::brushes::do_clay_strips_brush(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_displacement_eraser_brush(), blender::ed::sculpt_paint::brushes::do_displacement_smear_brush(), blender::ed::sculpt_paint::brushes::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::brushes::do_elastic_deform_brush(), blender::ed::sculpt_paint::brushes::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::brushes::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_layer_brush(), blender::ed::sculpt_paint::brushes::do_mask_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::color::do_paint_brush(), blender::ed::sculpt_paint::brushes::do_pinch_brush(), blender::ed::sculpt_paint::brushes::do_plane_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::brushes::do_rotate_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::boundary::do_slide_brush(), blender::ed::sculpt_paint::color::do_smear_brush(), blender::ed::sculpt_paint::boundary::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_smooth_mask_brush(), blender::ed::sculpt_paint::brushes::do_snake_hook_brush(), blender::ed::sculpt_paint::brushes::do_thumb_brush(), blender::ed::sculpt_paint::brushes::do_topology_slide_brush(), blender::ed::sculpt_paint::boundary::do_twist_brush(), do_wpaint_brush_blur(), do_wpaint_brush_draw(), do_wpaint_brush_smear(), blender::ed::sculpt_paint::dynamic_topology_update(), blender::ed::sculpt_paint::face_set::edit_fairing(), blender::ed::sculpt_paint::cloth::ensure_nodes_constraints(), blender::ed::sculpt_paint::face_set::face_hide_update(), blender::ed::sculpt_paint::face_set::face_sets_update(), blender::ed::sculpt_paint::fake_neighbor_search(), blender::ed::sculpt_paint::mask::fill_mask_bmesh(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::ed::sculpt_paint::mask::fill_mask_mesh(), flush_bounds_to_parents(), blender::ed::sculpt_paint::hide::flush_face_changes_node(), from_bmesh(), from_grids(), from_mesh(), blender::ed::sculpt_paint::face_set::gesture_apply_bmesh(), blender::ed::sculpt_paint::mask::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::face_set::gesture_apply_mesh(), blender::ed::sculpt_paint::hide::grid_hide_update(), blender::ed::sculpt_paint::hide::grids_show_all(), blender::ed::sculpt_paint::pose::grow_pose_factor(), blender::ed::sculpt_paint::hide::grow_shrink_visibility_grid(), blender::ed::sculpt_paint::mask::init_mask_grids(), blender::ed::sculpt_paint::mask::invert_mask_bmesh(), blender::ed::sculpt_paint::mask::invert_mask_grids(), blender::ed::sculpt_paint::hide::invert_visibility_bmesh(), blender::ed::sculpt_paint::hide::invert_visibility_grids(), blender::ed::sculpt_paint::hide::invert_visibility_mesh(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), blender::ed::sculpt_paint::hide::mesh_show_all(), blender::ed::sculpt_paint::nearest_vert_calc_bmesh(), blender::ed::sculpt_paint::nearest_vert_calc_grids(), blender::ed::sculpt_paint::nearest_vert_calc_mesh(), nodes_num(), blender::ed::sculpt_paint::brushes::offset_positions(), blender::ed::sculpt_paint::hide::partialvis_update_bmesh_nodes(), blender::ed::sculpt_paint::undo::push_nodes(), blender::ed::sculpt_paint::expand::restore_color_data(), blender::ed::sculpt_paint::undo::restore_color_from_undo_step(), blender::ed::sculpt_paint::undo::restore_face_set_from_undo_step(), blender::ed::sculpt_paint::undo::restore_list(), blender::ed::sculpt_paint::undo::restore_mask_from_undo_step(), blender::ed::sculpt_paint::undo::restore_position_from_undo_step(), blender::ed::sculpt_paint::brushes::sample_surface(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::color::sculpt_color_filter_apply(), blender::ed::sculpt_paint::color::sculpt_color_presmooth_init(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), blender::ed::sculpt_paint::cloth::sim_activate_nodes(), blender::ed::sculpt_paint::transform_radius_elastic(), blender::ed::sculpt_paint::mask::try_remove_mask_mesh(), update_bounds_bmesh(), update_bounds_grids(), update_bounds_mesh(), blender::ed::sculpt_paint::expand::update_for_vert(), blender::ed::sculpt_paint::mask::update_mask_mesh(), blender::ed::sculpt_paint::hide::update_node_visibility_from_face_changes(), update_normals(), blender::ed::sculpt_paint::hide::update_undo_state(), update_visibility(), blender::ed::sculpt_paint::hide::vert_hide_update(), blender::ed::sculpt_paint::mask::write_mask_mesh(), and ~Tree().

◆ nodes() [6/8]

template<>
Span< BMeshNode > blender::bke::pbvh::Tree::nodes ( ) const

Definition at line 603 of file pbvh.cc.

References nodes_.

◆ nodes() [7/8]

template<>
Span< GridsNode > blender::bke::pbvh::Tree::nodes ( ) const

Definition at line 599 of file pbvh.cc.

References nodes_.

◆ nodes() [8/8]

template<>
Span< MeshNode > blender::bke::pbvh::Tree::nodes ( ) const

Definition at line 595 of file pbvh.cc.

References nodes_.

◆ nodes_num()

◆ operator=() [1/2]

Tree & blender::bke::pbvh::Tree::operator= ( const Tree & other)
delete

References Tree().

◆ operator=() [2/2]

Tree & blender::bke::pbvh::Tree::operator= ( Tree && other)
default

References bm, and Tree().

◆ tag_attribute_changed()

◆ tag_face_sets_changed()

◆ tag_masks_changed()

void blender::bke::pbvh::Tree::tag_masks_changed ( const IndexMask & node_mask)

◆ tag_positions_changed()

void blender::bke::pbvh::Tree::tag_positions_changed ( const IndexMask & node_mask)

Mark data based on positions for specific BVH nodes dirty. In particular: bounds, normals, and GPU data buffers. That data is recomputed later on in functions like update_bounds.

Warning
Must not be called from multiple threads in parallel.

Definition at line 635 of file pbvh.cc.

References draw_data, blender::index_mask::IndexMask::min_array_size(), and blender::index_mask::IndexMask::set_bits().

Referenced by BKE_pbvh_bmesh_after_stroke(), blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::brushes::do_bmesh_topology_rake_brush(), blender::ed::sculpt_paint::brushes::do_clay_brush(), blender::ed::sculpt_paint::brushes::do_clay_strips_brush(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_displacement_eraser_brush(), blender::ed::sculpt_paint::brushes::do_displacement_smear_brush(), blender::ed::sculpt_paint::brushes::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::brushes::do_elastic_deform_brush(), blender::ed::sculpt_paint::brushes::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::brushes::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_layer_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::brushes::do_pinch_brush(), blender::ed::sculpt_paint::brushes::do_plane_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::brushes::do_rotate_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::boundary::do_slide_brush(), blender::ed::sculpt_paint::boundary::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_snake_hook_brush(), blender::ed::sculpt_paint::brushes::do_surface_smooth_brush(), blender::ed::sculpt_paint::brushes::do_thumb_brush(), blender::ed::sculpt_paint::brushes::do_topology_slide_brush(), blender::ed::sculpt_paint::boundary::do_twist_brush(), blender::ed::sculpt_paint::dynamic_topology_update(), blender::ed::sculpt_paint::face_set::edit_modify_coordinates(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::brushes::offset_positions(), blender::ed::sculpt_paint::undo::restore_list(), blender::ed::sculpt_paint::undo::restore_position_from_undo_step(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_apply(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), blender::ed::sculpt_paint::store_mesh_from_eval(), and blender::ed::sculpt_paint::transform_radius_elastic().

◆ tag_topology_changed()

void blender::bke::pbvh::Tree::tag_topology_changed ( const IndexMask & node_mask)

Tag nodes that have a different number of vertices or faces (currently just for Type::BMesh).

Definition at line 655 of file pbvh.cc.

References draw_data.

Referenced by BKE_pbvh_bmesh_after_stroke(), and blender::ed::sculpt_paint::dynamic_topology_update().

◆ tag_visibility_changed()

◆ type()

Type blender::bke::pbvh::Tree::type ( ) const
inline

Definition at line 677 of file BKE_paint_bvh.hh.

Referenced by blender::ed::sculpt_paint::mask::apply_mask_from_settings(), blender::ed::sculpt_paint::average_mask_border_position(), blender::ed::sculpt_paint::average_unmasked_position(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), blender::ed::sculpt_paint::brush_delta_update(), blender::ed::sculpt_paint::calc_area_center(), blender::ed::sculpt_paint::calc_area_normal(), blender::ed::sculpt_paint::calc_area_normal_and_center(), blender::ed::sculpt_paint::auto_mask::Cache::calc_cavity_factor(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::ed::sculpt_paint::filter::calc_enhance_details_filter(), blender::ed::sculpt_paint::expand::calc_falloff_from_vert_and_symmetry(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::filter::calc_random_filter(), blender::ed::sculpt_paint::filter::calc_relax_face_sets_filter(), blender::ed::sculpt_paint::filter::calc_relax_filter(), blender::ed::sculpt_paint::filter::calc_scale_filter(), blender::ed::sculpt_paint::filter::calc_sharpen_filter(), blender::ed::sculpt_paint::filter::calc_smooth_filter(), blender::ed::sculpt_paint::calc_smooth_translations(), blender::ed::sculpt_paint::filter::calc_sphere_filter(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::expand::calc_topology_falloff_from_verts(), blender::ed::sculpt_paint::trim::can_exec(), blender::ed::sculpt_paint::face_set::change_visibility_exec(), blender::ed::sculpt_paint::face_set::clear_face_sets(), blender::ed::sculpt_paint::cloth::cloth_brush_apply_brush_forces(), blender::ed::sculpt_paint::cloth::cloth_sim_initialize_default_node_state(), blender::ed::sculpt_paint::cloth::copy_normals_to_array(), blender::ed::sculpt_paint::cloth::copy_positions_to_array(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::ed::sculpt_paint::cursor_geometry_info_update(), blender::ed::sculpt_paint::boundary::data_init(), blender::ed::sculpt_paint::expand::diagonals_falloff_create(), blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::boundary::do_boundary_brush(), blender::ed::sculpt_paint::brushes::do_clay_brush(), blender::ed::sculpt_paint::brushes::do_clay_strips_brush(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::brushes::do_elastic_deform_brush(), blender::ed::sculpt_paint::brushes::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::brushes::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_layer_brush(), blender::ed::sculpt_paint::brushes::do_mask_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::brushes::do_pinch_brush(), blender::ed::sculpt_paint::brushes::do_plane_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::brushes::do_rotate_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::boundary::do_slide_brush(), blender::ed::sculpt_paint::boundary::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_smooth_mask_brush(), blender::ed::sculpt_paint::brushes::do_snake_hook_brush(), blender::ed::sculpt_paint::brushes::do_surface_smooth_brush(), blender::ed::sculpt_paint::brushes::do_thumb_brush(), blender::ed::sculpt_paint::brushes::do_topology_slide_brush(), blender::ed::sculpt_paint::boundary::do_twist_brush(), blender::ed::sculpt_paint::face_set::edit_is_operation_valid(), blender::ed::sculpt_paint::cloth::ensure_nodes_constraints(), blender::ed::sculpt_paint::face_set::face_hide_update(), blender::ed::sculpt_paint::face_set::face_sets_update(), blender::ed::sculpt_paint::fake_neighbor_search(), blender::ed::sculpt_paint::mask::fill_mask(), blender::ed::sculpt_paint::find_symm_verts(), blender::ed::sculpt_paint::flush_update_done(), blender::ed::sculpt_paint::flush_update_step(), blender::ed::sculpt_paint::geometry_preview_lines_update(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::face_set::gesture_apply_mesh(), blender::ed::sculpt_paint::trim::gesture_begin(), blender::ed::sculpt_paint::pose::grow_pose_factor(), blender::ed::sculpt_paint::hide::hide_show_all_exec(), blender::ed::sculpt_paint::hide::hide_show_masked_exec(), blender::ed::sculpt_paint::pose::ik_chain_init_topology(), blender::ed::sculpt_paint::expand::init_from_face_set_boundary(), blender::ed::sculpt_paint::face_set::init_op_exec(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), multires_flush_sculpt_updates(), blender::ed::sculpt_paint::no_multires_poll(), nodes(), blender::ed::sculpt_paint::expand::normals_falloff_create(), blender::ed::sculpt_paint::brushes::offset_positions(), blender::ed::sculpt_paint::boundary::preview_data_init(), blender::ed::sculpt_paint::undo::push_begin_ex(), blender::ed::sculpt_paint::undo::push_node(), blender::ed::sculpt_paint::undo::push_nodes(), blender::ed::sculpt_paint::face_set::randomize_colors_exec(), blender::ed::sculpt_paint::undo::restore_color_from_undo_step(), blender::ed::sculpt_paint::undo::restore_face_set_from_undo_step(), blender::ed::sculpt_paint::undo::restore_list(), blender::ed::sculpt_paint::undo::restore_mask_from_undo_step(), blender::ed::sculpt_paint::undo::restore_position_from_undo_step(), blender::ed::sculpt_paint::expand::resursion_step_add(), blender::ed::sculpt_paint::dyntopo::sample_detail(), blender::ed::sculpt_paint::brushes::sample_surface(), blender::ed::sculpt_paint::sculpt_brush_stroke_invoke(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::expand::sculpt_expand_invoke(), blender::ed::sculpt_paint::sculpt_find_nearest_to_ray_cb(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_start(), blender::ed::sculpt_paint::sculpt_raycast_cb(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), blender::ed::sculpt_paint::cloth::sim_activate_nodes(), blender::ed::sculpt_paint::expand::snap_init_from_enabled(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), stats_object_sculpt(), blender::ed::sculpt_paint::stroke_get_location_bvh_ex(), blender::ed::sculpt_paint::dyntopo::stroke_is_dyntopo(), blender::ed::sculpt_paint::symmetrize_exec(), blender::ed::sculpt_paint::transform_radius_elastic(), update_bounds(), blender::ed::sculpt_paint::expand::update_for_vert(), update_normals(), blender::ed::sculpt_paint::expand::vert_to_face_falloff(), blender::ed::sculpt_paint::vertex_is_occluded(), blender::ed::sculpt_paint::hide::visibility_filter_exec(), blender::ed::sculpt_paint::hide::visibility_invert_exec(), and blender::ed::sculpt_paint::expand::write_mask_data().

◆ update_bounds()

◆ update_bounds_bmesh()

◆ update_bounds_grids()

void blender::bke::pbvh::Tree::update_bounds_grids ( Span< float3 > positions,
int grid_area )

◆ update_bounds_mesh()

◆ update_normals()

◆ update_visibility()

Member Data Documentation

◆ draw_data

◆ nodes_

◆ pixels_

pixels::PBVHData* blender::bke::pbvh::Tree::pixels_ = nullptr

Definition at line 262 of file BKE_paint_bvh.hh.


The documentation for this class was generated from the following files: