Blender V4.5
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 230 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

◆ ~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 1122 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::bits::BitVector< InlineBufferCapacity, Allocator >::clear_and_shrink(), blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::from_bits(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::is_empty(), blender::Bounds< T >::max, blender::bounds::merge(), blender::Bounds< T >::min, node, 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 ( )

◆ nodes() [2/8]

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

Definition at line 531 of file pbvh.cc.

References nodes_.

◆ nodes() [3/8]

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

Definition at line 535 of file pbvh.cc.

References nodes_.

◆ nodes() [4/8]

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

Definition at line 539 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::bke::pbvh::pixels::apply_watertight_check(), blender::ed::sculpt_paint::average_mask_border_position(), blender::ed::sculpt_paint::average_unmasked_position(), BKE_sculpt_update_object_before_eval(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), blender::bke::pbvh::bmesh_normals_update(), blender::bke::pbvh::bmesh_update_topology(), 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::draw::pbvh::calc_material_indices(), 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(), blender::draw::pbvh::calc_use_flat_layout(), 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::bke::pbvh::pixels::count_nodes_to_update(), 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::draw::pbvh::ensure_vbos_allocated_bmesh(), blender::draw::pbvh::ensure_vbos_allocated_grids(), blender::draw::pbvh::ensure_vbos_allocated_mesh(), 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::draw::pbvh::fill_face_sets_grids(), blender::ed::sculpt_paint::mask::fill_mask_bmesh(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::ed::sculpt_paint::mask::fill_mask_mesh(), blender::draw::pbvh::fill_masks_grids(), blender::draw::pbvh::fill_normals_grids(), blender::draw::pbvh::fill_positions_grids(), blender::bke::pbvh::pixels::find_nodes_to_update(), flush_bounds_to_parents(), blender::ed::sculpt_paint::hide::flush_face_changes_node(), from_bmesh(), 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(), SCULPT_do_paint_brush_image(), 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::draw::pbvh::update_face_sets_bmesh(), blender::draw::pbvh::update_face_sets_mesh(), blender::ed::sculpt_paint::expand::update_for_vert(), blender::draw::pbvh::update_generic_attribute_bmesh(), blender::draw::pbvh::update_generic_attribute_mesh(), blender::bke::pbvh::update_mask_bmesh(), blender::bke::pbvh::update_mask_grids(), blender::bke::pbvh::update_mask_mesh(), blender::ed::sculpt_paint::mask::update_mask_mesh(), blender::draw::pbvh::update_masks_bmesh(), blender::draw::pbvh::update_masks_mesh(), blender::ed::sculpt_paint::hide::update_node_visibility_from_face_changes(), update_normals(), blender::draw::pbvh::update_normals_bmesh(), blender::draw::pbvh::update_normals_mesh(), blender::draw::pbvh::update_positions_bmesh(), blender::draw::pbvh::update_positions_mesh(), blender::ed::sculpt_paint::hide::update_undo_state(), update_visibility(), blender::ed::sculpt_paint::hide::vert_hide_update(), vpaint_do_paint(), blender::ed::sculpt_paint::mask::write_mask_mesh(), and ~Tree().

◆ nodes() [6/8]

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

Definition at line 519 of file pbvh.cc.

References nodes_.

◆ nodes() [7/8]

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

Definition at line 523 of file pbvh.cc.

References nodes_.

◆ nodes() [8/8]

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

Definition at line 527 of file pbvh.cc.

References nodes_.

◆ nodes_num()

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ tag_attribute_changed()

◆ tag_face_sets_changed()

◆ tag_masks_changed()

◆ 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 559 of file pbvh.cc.

References draw_data, blender::index_mask::IndexMask::min_array_size(), blender::bits::BitVector< InlineBufferCapacity, Allocator >::resize(), blender::index_mask::IndexMask::set_bits(), and blender::bits::BitVector< InlineBufferCapacity, Allocator >::size().

Referenced by BKE_pbvh_bmesh_after_stroke(), BKE_pbvh_vert_coords_apply(), BKE_sculpt_update_object_before_eval(), blender::bke::pbvh::bmesh_update_topology(), 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(), from_bmesh(), from_mesh(), 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 579 of file pbvh.cc.

References draw_data.

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

◆ tag_visibility_changed()

◆ type()

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

Definition at line 655 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(), BKE_sculpt_update_object_before_eval(), BKE_sculptsession_use_pbvh_draw(), 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::draw::pbvh::calc_material_indices(), 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::draw::pbvh::calc_use_flat_layout(), 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_relax_face_sets_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::bke::pbvh::find_nearest_to_ray_node(), 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(), blender::draw::overlay::Sculpts::mesh_sync(), multires_flush_sculpt_updates(), blender::ed::sculpt_paint::no_multires_poll(), blender::ed::sculpt_paint::expand::normals_falloff_create(), blender::workbench::ObjectState::ObjectState(), 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(), update_visibility(), 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()

◆ update_bounds_mesh()

◆ update_normals()

◆ update_visibility()

Member Data Documentation

◆ draw_data

◆ nodes_

◆ pixels_


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