Blender V4.5
SculptSession Struct Reference

#include <BKE_paint.hh>

Inherits blender::NonCopyable, and blender::NonMovable.

Public Member Functions

 SculptSession ()
 
 ~SculptSession ()
 
ActiveVert active_vert () const
 
ActiveVert last_active_vert () const
 
int active_vert_index () const
 
int last_active_vert_index () const
 
blender::float3 active_vert_position (const Depsgraph &depsgraph, const Object &object) const
 
void set_active_vert (ActiveVert vert)
 
void clear_active_elements (bool persist_last_active)
 
std::optional< PersistentMultiresDatapersistent_multires_data ()
 
- Public Member Functions inherited from blender::NonCopyable
 NonCopyable (const NonCopyable &other)=delete
 
NonCopyableoperator= (const NonCopyable &other)=delete
 
 NonCopyable ()=default
 
 NonCopyable (NonCopyable &&other)=default
 
NonCopyableoperator= (NonCopyable &&other)=default
 
- Public Member Functions inherited from blender::NonMovable
 NonMovable (NonMovable &&other)=delete
 
NonMovableoperator= (NonMovable &&other)=delete
 
 NonMovable ()=default
 
 NonMovable (const NonMovable &other)=default
 
NonMovableoperator= (const NonMovable &other)=default
 

Public Attributes

struct { 
 
   bool   active = false 
 
   MultiresModifierData *   modifier = nullptr 
 
   int   level = 0 
 
multires = {} 
 
KeyBlockshapekey_active = nullptr
 
blender::Array< int > edge_to_face_offsets
 
blender::Array< int > edge_to_face_indices
 
blender::GroupedSpan< int > edge_to_face_map
 
blender::Array< int > vert_to_edge_offsets
 
blender::Array< int > vert_to_edge_indices
 
blender::GroupedSpan< int > vert_to_edge_map
 
BMeshbm = nullptr
 
BMLogbm_log = nullptr
 
SubdivCCGsubdiv_ccg = nullptr
 
std::unique_ptr< blender::bke::pbvh::Treepbvh
 
bool deform_modifiers_active = false
 
blender::Array< blender::float3, 0 > deform_cos
 
blender::Array< blender::float3x3, 0 > deform_imats
 
blender::SharedCache< blender::Vector< blender::float3 > > vert_normals_deform
 
blender::SharedCache< blender::Vector< blender::float3 > > face_normals_deform
 
ImagePooltex_pool = nullptr
 
blender::ed::sculpt_paint::StrokeCachecache = nullptr
 
blender::ed::sculpt_paint::filter::Cachefilter_cache = nullptr
 
blender::ed::sculpt_paint::expand::Cacheexpand_cache = nullptr
 
std::optional< int > active_face_index
 
std::optional< int > active_grid_index
 
bool draw_faded_cursor = false
 
float cursor_radius = 0.0f
 
blender::float3 cursor_location
 
blender::float3 cursor_normal
 
std::optional< blender::float3cursor_sampled_normal
 
blender::float3 cursor_view_normal
 
RegionView3Drv3d = nullptr
 
View3Dv3d = nullptr
 
blender::Array< int > preview_verts
 
std::unique_ptr< SculptPoseIKChainPreviewpose_ik_chain_preview
 
std::unique_ptr< SculptBoundaryPreviewboundary_preview
 
struct { 
 
   blender::Array< blender::float3 >   sculpt_persistent_co 
 
   blender::Array< blender::float3 >   sculpt_persistent_no 
 
   blender::Array< float >   sculpt_persistent_disp 
 
   int   grids_num = -1 
 
   int   grid_size = -1 
 
persistent 
 
SculptVertexInfo vertex_info = {}
 
SculptFakeNeighbors fake_neighbors = {}
 
blender::float3 pivot_pos = {}
 
blender::float4 pivot_rot = {}
 
blender::float3 pivot_scale = {}
 
blender::float3 init_pivot_pos = {}
 
blender::float4 init_pivot_rot = {}
 
blender::float3 init_pivot_scale = {}
 
blender::float3 prev_pivot_pos = {}
 
blender::float4 prev_pivot_rot = {}
 
blender::float3 prev_pivot_scale = {}
 
struct { 
 
   struct { 
 
      float *   alpha_weight 
 
      blender::Array< MDeformVert >   dvert_prev 
 
   }   wpaint 
 
mode = {} 
 
eObjectMode mode_type
 
bool building_vp_handle = false
 
bool needs_flush_to_id = false
 
bool sticky_shading_color = false
 
char * last_paint_canvas_key = nullptr
 
blender::float3 last_normal
 
std::unique_ptr< SculptTopologyIslandCachetopology_island_cache
 

Detailed Description

Definition at line 389 of file BKE_paint.hh.

Constructor & Destructor Documentation

◆ SculptSession()

SculptSession::SculptSession ( )
default

◆ ~SculptSession()

SculptSession::~SculptSession ( )

Member Function Documentation

◆ active_vert()

◆ active_vert_index()

◆ active_vert_position()

blender::float3 SculptSession::active_vert_position ( const Depsgraph & depsgraph,
const Object & object ) const

Retrieves the active vertex position.

This method should be avoided if already working with the relevant position-backing structures for each of the mesh types. In cases where we want more generic code, this abstraction helps to remove boilerplate.

Returns
float3 at negative infinity if there is no currently active vertex

Definition at line 2263 of file paint.cc.

References BLI_assert_unreachable, BMVert::co, depsgraph, SubdivCCG::positions, subdiv_ccg, and blender::bke::pbvh::vert_positions_eval().

Referenced by blender::ed::sculpt_paint::brush_delta_update(), blender::ed::sculpt_paint::face_set::change_visibility_exec(), blender::ed::sculpt_paint::cursor_geometry_info_update(), blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_invoke(), and blender::ed::sculpt_paint::set_pivot_position_exec().

◆ clear_active_elements()

void SculptSession::clear_active_elements ( bool persist_last_active)

◆ last_active_vert()

ActiveVert SculptSession::last_active_vert ( ) const

Definition at line 2232 of file paint.cc.

◆ last_active_vert_index()

int SculptSession::last_active_vert_index ( ) const

◆ persistent_multires_data()

std::optional< PersistentMultiresData > SculptSession::persistent_multires_data ( )

Retrieves the current persistent multires data.

Potentially used for the layer and cloth brushes.

Returns
an empty optional if the current data cannot be used

Definition at line 2302 of file paint.cc.

References BLI_assert, SubdivCCG::grids_num, persistent, subdiv_ccg, and this.

Referenced by blender::ed::sculpt_paint::brushes::do_layer_brush(), and blender::ed::sculpt_paint::cloth::ensure_nodes_constraints().

◆ set_active_vert()

void SculptSession::set_active_vert ( ActiveVert vert)

Definition at line 2297 of file paint.cc.

Referenced by blender::ed::sculpt_paint::cursor_geometry_info_update().

Member Data Documentation

◆ active

◆ active_face_index

◆ active_grid_index

◆ alpha_weight

◆ bm

BMesh* SculptSession::bm = nullptr

Definition at line 410 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::expand::any_nonzero_mask(), blender::ed::sculpt_paint::cloth::apply_filter_forces_bmesh(), blender::ed::sculpt_paint::mask::apply_mask_bmesh(), blender::ed::sculpt_paint::mask::apply_new_mask_bmesh(), blender::ed::sculpt_paint::project::apply_projection_bmesh(), BKE_pbvh_sync_visibility_from_verts(), BKE_sculptsession_bm_to_me_for_render(), BKE_sculptsession_free(), blender::ed::sculpt_paint::undo::bmesh_enable(), blender::ed::sculpt_paint::undo::bmesh_handle_dyntopo_begin(), blender::ed::sculpt_paint::undo::bmesh_handle_dyntopo_end(), blender::ed::sculpt_paint::undo::bmesh_push(), blender::ed::sculpt_paint::undo::bmesh_restore_generic(), blender::ed::sculpt_paint::expand::boundary_from_enabled(), blender::ed::sculpt_paint::brush_uses_topology_rake(), blender::bke::build_pbvh_for_dynamic_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::brushes::calc_bmesh(), blender::ed::sculpt_paint::pose::calc_bmesh(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::ed::sculpt_paint::filter::calc_enhance_details_filter(), blender::ed::sculpt_paint::calc_factors_common_bmesh(), blender::ed::sculpt_paint::calc_factors_common_from_orig_data_bmesh(), blender::ed::sculpt_paint::cloth::calc_forces_bmesh(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::pose::calc_pose_origin_and_factor_bmesh(), 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::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::islands::calc_topology_islands_bmesh(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::dyntopo::check_attribute_warning(), blender::ed::sculpt_paint::color_supported_check(), blender::ed::sculpt_paint::cloth::copy_normals_to_array(), blender::ed::sculpt_paint::cloth::copy_positions_to_array(), blender::ed::sculpt_paint::boundary::data_init(), blender::ed::sculpt_paint::boundary::data_init_bmesh(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_bmesh(), blender::ed::sculpt_paint::dyntopo::disable(), blender::ed::sculpt_paint::dyntopo::disable_with_undo(), blender::ed::sculpt_paint::brushes::do_mask_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::brushes::do_smooth_mask_brush(), blender::ed::sculpt_paint::mask::duplicate_mask(), blender::ed::sculpt_paint::hide::duplicate_visibility_bmesh(), blender::ed::sculpt_paint::dynamic_topology_update(), blender::ed::sculpt_paint::elastic_transform_node_bmesh(), blender::ed::sculpt_paint::dyntopo::enable_ex(), blender::ed::sculpt_paint::dyntopo::enable_with_undo(), blender::ed::sculpt_paint::expand::enabled_state_to_bitmap(), blender::ed::sculpt_paint::face_set::ensure_face_sets_bmesh(), blender::ed::sculpt_paint::cloth::ensure_nodes_constraints(), blender::ed::sculpt_paint::fake_neighbor_search(), blender::ed::sculpt_paint::mask::fill_mask_bmesh(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors_bmesh(), blender::ed::sculpt_paint::face_set::find_next_available_id(), blender::ed::sculpt_paint::find_symm_verts_bmesh(), blender::ed::sculpt_paint::flush_update_done(), geometry_extract_poll(), blender::ed::sculpt_paint::mask::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_bmesh(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_fk_bmesh(), blender::ed::sculpt_paint::mask::increase_contrast_mask_bmesh(), blender::ed::sculpt_paint::boundary::init_boundary_bmesh(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_bmesh(), blender::ed::sculpt_paint::expand::init_from_face_set_boundary(), blender::ed::sculpt_paint::expand::is_face_in_active_component(), blender::bke::mesh_calc_modifiers(), blender::draw::overlay::Sculpts::mesh_sync(), blender::ed::sculpt_paint::auto_mask::normal_occlusion_automasking_fill(), blender::ed::sculpt_paint::expand::normals_falloff_create(), blender::ed::object::object_remesh_poll(), blender::ed::sculpt_paint::object_sculpt_mode_exit(), blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive(), blender::ed::sculpt_paint::hide::partialvis_masked_update_bmesh(), blender::bke::object::pbvh_ensure(), blender::ed::sculpt_paint::undo::push_node(), blender::ed::sculpt_paint::undo::push_nodes(), blender::ed::sculpt_paint::expand::reposition_pivot(), blender::ed::sculpt_paint::undo::restore_list(), blender::ed::sculpt_paint::undo::restore_mask_from_undo_step(), blender::ed::sculpt_paint::brushes::sample_node_surface_bmesh(), blender::ed::sculpt_paint::dyntopo::sculpt_and_constant_or_manual_detail_poll(), blender::ed::sculpt_paint::dyntopo::sculpt_and_dynamic_topology_poll(), blender::draw::sculpt_batches_get(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), blender::ed::sculpt_paint::dyntopo::sculpt_dynamic_topology_toggle_exec(), blender::ed::sculpt_paint::dyntopo::sculpt_dynamic_topology_toggle_invoke(), blender::ed::sculpt_paint::expand::sculpt_expand_invoke(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), sculpt_modifiers_active(), sculpt_multires_modifier_get(), SCULPT_vertex_count_get(), sculptsession_bm_to_me_update_data_only(), stats_is_object_dynamic_topology_sculpt(), stats_object_sculpt(), blender::ed::sculpt_paint::symmetrize_exec(), blender::ed::sculpt_paint::hide::sync_all_from_faces(), blender::ed::sculpt_paint::transform_node_bmesh(), blender::bke::pbvh::Tree::update_bounds(), blender::ed::sculpt_paint::expand::update_for_vert(), blender::ed::sculpt_paint::vert_random_access_ensure(), and blender::ed::sculpt_paint::expand::write_mask_data().

◆ bm_log

BMLog* SculptSession::bm_log = nullptr

Definition at line 412 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::undo::bmesh_enable(), blender::ed::sculpt_paint::undo::bmesh_handle_dyntopo_begin(), blender::ed::sculpt_paint::undo::bmesh_handle_dyntopo_end(), blender::ed::sculpt_paint::undo::bmesh_push(), blender::ed::sculpt_paint::undo::bmesh_restore(), blender::ed::sculpt_paint::undo::bmesh_restore_generic(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_bmesh(), blender::ed::sculpt_paint::boundary::calc_bend_bmesh(), blender::ed::sculpt_paint::pose::calc_bmesh(), blender::ed::sculpt_paint::boundary::calc_grab_bmesh(), blender::ed::sculpt_paint::boundary::calc_inflate_bmesh(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::filter::calc_random_filter(), blender::ed::sculpt_paint::filter::calc_scale_filter(), blender::ed::sculpt_paint::boundary::calc_slide_bmesh(), blender::ed::sculpt_paint::boundary::calc_smooth_bmesh(), blender::ed::sculpt_paint::filter::calc_smooth_filter(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::boundary::calc_twist_bmesh(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::dyntopo::disable(), blender::ed::sculpt_paint::dynamic_topology_update(), blender::ed::sculpt_paint::dyntopo::enable_ex(), blender::ed::sculpt_paint::undo::restore_mask_from_undo_step(), blender::ed::sculpt_paint::undo::restore_position_from_undo_step(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), sculptsession_bm_to_me_update_data_only(), blender::ed::sculpt_paint::symmetrize_exec(), blender::ed::sculpt_paint::transform_node_bmesh(), and ~SculptSession().

◆ boundary_preview

◆ building_vp_handle

bool SculptSession::building_vp_handle = false

◆ cache

Definition at line 437 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::auto_mask::active_cache_get(), blender::ed::sculpt_paint::cloth::add_constraints_for_verts(), blender::ed::sculpt_paint::area_normal_and_center_get_normal_radius(), blender::ed::sculpt_paint::area_normal_and_center_get_position_radius(), BKE_sculpt_update_object_before_eval(), blender::ed::sculpt_paint::cloth::brush_affected_nodes_gather(), blender::ed::sculpt_paint::brush_delta_update(), blender::ed::sculpt_paint::brush_plane_offset_get(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_bmesh(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_grids(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_mesh(), blender::ed::sculpt_paint::boundary::calc_bend_bmesh(), blender::ed::sculpt_paint::boundary::calc_bend_grids(), blender::ed::sculpt_paint::boundary::calc_bend_mesh(), blender::ed::sculpt_paint::brushes::calc_bmesh(), blender::ed::sculpt_paint::pose::calc_bmesh(), blender::ed::sculpt_paint::calc_brush_distances_squared(), blender::ed::sculpt_paint::calc_brush_distances_squared(), blender::ed::sculpt_paint::calc_brush_local_mat(), blender::ed::sculpt_paint::calc_brush_node_mask(), blender::ed::sculpt_paint::auto_mask::calc_brush_normal_factor(), blender::ed::sculpt_paint::calc_brush_plane(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::ed::sculpt_paint::brushes::calc_faces(), blender::ed::sculpt_paint::calc_factors_common_bmesh(), blender::ed::sculpt_paint::calc_factors_common_from_orig_data_bmesh(), blender::ed::sculpt_paint::calc_factors_common_from_orig_data_grids(), blender::ed::sculpt_paint::calc_factors_common_from_orig_data_mesh(), blender::ed::sculpt_paint::calc_factors_common_grids(), blender::ed::sculpt_paint::calc_factors_common_mesh(), blender::ed::sculpt_paint::calc_factors_common_mesh_indexed(), blender::ed::sculpt_paint::cloth::calc_forces_bmesh(), blender::ed::sculpt_paint::cloth::calc_forces_grids(), blender::ed::sculpt_paint::cloth::calc_forces_mesh(), blender::ed::sculpt_paint::boundary::calc_grab_bmesh(), blender::ed::sculpt_paint::boundary::calc_grab_grids(), blender::ed::sculpt_paint::boundary::calc_grab_mesh(), blender::ed::sculpt_paint::brushes::calc_grids(), blender::ed::sculpt_paint::pose::calc_grids(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::sculpt_paint::boundary::calc_inflate_bmesh(), blender::ed::sculpt_paint::boundary::calc_inflate_grids(), blender::ed::sculpt_paint::boundary::calc_inflate_mesh(), blender::ed::sculpt_paint::pose::calc_mesh(), blender::ed::sculpt_paint::brushes::clay_strips::calc_node_mask(), blender::ed::sculpt_paint::brushes::plane::calc_node_mask(), blender::ed::sculpt_paint::pose::calc_rotate_deform(), blender::ed::sculpt_paint::pose::calc_rotate_twist_deform(), blender::ed::sculpt_paint::pose::calc_scale_deform(), blender::ed::sculpt_paint::pose::calc_scale_from_grab_delta(), blender::ed::sculpt_paint::pose::calc_scale_translate_deform(), blender::ed::sculpt_paint::calc_sculpt_normal(), blender::ed::sculpt_paint::boundary::calc_slide_bmesh(), blender::ed::sculpt_paint::boundary::calc_slide_grids(), blender::ed::sculpt_paint::boundary::calc_slide_mesh(), blender::ed::sculpt_paint::boundary::calc_smooth_bmesh(), blender::ed::sculpt_paint::boundary::calc_smooth_grids(), blender::ed::sculpt_paint::boundary::calc_smooth_mesh(), blender::ed::sculpt_paint::pose::calc_squash_stretch_deform(), blender::ed::sculpt_paint::boundary::calc_twist_bmesh(), blender::ed::sculpt_paint::pose::calc_twist_deform(), blender::ed::sculpt_paint::boundary::calc_twist_grids(), blender::ed::sculpt_paint::boundary::calc_twist_mesh(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::auto_mask::calc_view_normal_factor(), calculate_average_color(), calculate_average_weight(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::cloth::cloth_brush_apply_brush_forces(), blender::ed::sculpt_paint::cloth::cloth_brush_simulation_location_get(), blender::ed::sculpt_paint::cursor_geometry_info_update(), blender::ed::sculpt_paint::boundary::displacement_from_grab_delta_get(), blender::ed::sculpt_paint::brushes::do_bmesh_topology_rake_brush(), blender::ed::sculpt_paint::boundary::do_boundary_brush(), blender::ed::sculpt_paint::do_brush_action(), 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::cloth::do_cloth_brush(), blender::ed::sculpt_paint::color::do_color_smooth_task(), 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_brush(), blender::ed::sculpt_paint::brushes::do_draw_sharp_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::brushes::do_gravity_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_nudge_brush(), blender::ed::sculpt_paint::color::do_paint_brush(), blender::ed::sculpt_paint::color::do_paint_brush_task(), blender::ed::sculpt_paint::paint::image::do_paint_pixels(), 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::do_radial_symmetry(), blender::ed::sculpt_paint::brushes::do_relax_face_sets_brush(), blender::ed::sculpt_paint::brushes::do_rotate_brush(), blender::ed::sculpt_paint::color::do_sample_wet_paint_task(), blender::ed::sculpt_paint::color::do_smear_brush(), blender::ed::sculpt_paint::color::do_smear_brush_task(), blender::ed::sculpt_paint::brushes::do_snake_hook_brush(), blender::ed::sculpt_paint::brushes::do_surface_smooth_brush(), blender::ed::sculpt_paint::do_symmetrical_brush_actions(), blender::ed::sculpt_paint::brushes::do_thumb_brush(), blender::ed::sculpt_paint::do_tiled(), blender::ed::sculpt_paint::brushes::do_topology_relax_brush(), blender::ed::sculpt_paint::brushes::do_topology_slide_brush(), do_vpaint_brush_blur_loops(), do_vpaint_brush_blur_verts(), do_vpaint_brush_smear(), do_wpaint_brush_blur(), do_wpaint_brush_draw(), do_wpaint_brush_smear(), blender::ed::sculpt_paint::dynamic_topology_update(), ED_editors_flush_edits_for_object_ex(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors_bmesh(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors_grids(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors_mesh(), blender::ed::sculpt_paint::filter_region_clip_factors(), blender::ed::sculpt_paint::filter_region_clip_factors(), blender::ed::sculpt_paint::vwpaint::get_brush_alpha_data(), blender::ed::sculpt_paint::boundary::get_mesh_strength(), blender::ed::sculpt_paint::boundary::init_boundary_bmesh(), blender::ed::sculpt_paint::boundary::init_boundary_grids(), blender::ed::sculpt_paint::boundary::init_boundary_mesh(), blender::ed::sculpt_paint::vwpaint::init_stroke(), blender::ed::sculpt_paint::paint::image::init_uv_primitives_brush_test(), blender::ed::sculpt_paint::vwpaint::mode_enter_generic(), blender::ed::sculpt_paint::vwpaint::mode_exit_generic(), blender::ed::sculpt_paint::brushes::multiplane_scrape_preview_draw(), blender::ed::sculpt_paint::paint_cursor_cursor_draw_3d_view_brush_cursor_active(), blender::ed::sculpt_paint::pbvh_gather_cursor_update(), blender::ed::sculpt_paint::pbvh_gather_generic(), blender::ed::sculpt_paint::vwpaint::pbvh_gather_generic(), blender::ed::sculpt_paint::cloth::plane_falloff_preview_draw(), blender::ed::sculpt_paint::pose::pose_brush_init(), blender::ed::sculpt_paint::push_undo_nodes(), blender::ed::sculpt_paint::undo::restore_from_undo_step(), restore_from_undo_step_if_necessary(), blender::ed::sculpt_paint::brushes::sample_node_surface_bmesh(), blender::ed::sculpt_paint::brushes::sample_node_surface_grids(), blender::ed::sculpt_paint::brushes::sample_node_surface_mesh(), sculpt_apply_texture(), SCULPT_brush_frontface_normal_from_falloff_shape(), blender::ed::sculpt_paint::sculpt_brush_needs_normal(), blender::ed::sculpt_paint::sculpt_brush_stroke_cancel(), SCULPT_calc_vertex_displacement(), blender::ed::sculpt_paint::cloth::sculpt_cloth_ensure_constraints_in_simulation_area(), SCULPT_cube_tip_init(), blender::ed::sculpt_paint::sculpt_init_mirror_clipping(), blender::ed::sculpt_paint::sculpt_needs_connectivity_info(), blender::ed::sculpt_paint::pose::sculpt_pose_do_translate_deform(), sculpt_project_v3_normal_align(), blender::ed::sculpt_paint::sculpt_update_cache_invariants(), blender::ed::sculpt_paint::sculpt_update_cache_variants(), blender::ed::sculpt_paint::cloth::solve_verts_simulation(), blender::ed::sculpt_paint::auto_mask::stroke_cache_ensure(), blender::ed::sculpt_paint::stroke_done(), blender::ed::sculpt_paint::stroke_get_location_bvh_ex(), blender::ed::sculpt_paint::dyntopo::stroke_is_dyntopo(), blender::ed::sculpt_paint::stroke_update_step(), blender::ed::sculpt_paint::tilt_effective_normal_get(), update_brush_local_mat(), blender::ed::sculpt_paint::vwpaint::update_cache_invariants(), blender::ed::sculpt_paint::vwpaint::update_cache_variants(), blender::ed::sculpt_paint::update_sculpt_normal(), blender::ed::sculpt_paint::vertex_is_occluded(), vpaint_cancel(), vpaint_do_draw(), vpaint_do_paint(), vpaint_do_symmetrical_brush_actions(), vpaint_paint_leaves(), vpaint_stroke_done(), vpaint_stroke_update_step(), wpaint_cancel(), wpaint_do_paint(), wpaint_do_symmetrical_brush_actions(), wpaint_paint_leaves(), wpaint_stroke_done(), and wpaint_stroke_update_step().

◆ cursor_location

◆ cursor_normal

◆ cursor_radius

◆ cursor_sampled_normal

◆ cursor_view_normal

◆ deform_cos

◆ deform_imats

◆ deform_modifiers_active

◆ draw_faded_cursor

◆ dvert_prev

◆ edge_to_face_indices

blender::Array<int> SculptSession::edge_to_face_indices

◆ edge_to_face_map

◆ edge_to_face_offsets

blender::Array<int> SculptSession::edge_to_face_offsets

◆ expand_cache

◆ face_normals_deform

◆ fake_neighbors

◆ filter_cache

blender::ed::sculpt_paint::filter::Cache* SculptSession::filter_cache = nullptr

Definition at line 438 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::auto_mask::active_cache_get(), blender::ed::sculpt_paint::cloth::apply_filter_forces_bmesh(), blender::ed::sculpt_paint::cloth::apply_filter_forces_grids(), blender::ed::sculpt_paint::cloth::apply_filter_forces_mesh(), BKE_sculpt_update_object_before_eval(), blender::ed::sculpt_paint::filter::cache_init(), blender::ed::sculpt_paint::calc_brush_distances_squared(), blender::ed::sculpt_paint::calc_brush_distances_squared(), blender::ed::sculpt_paint::auto_mask::calc_brush_normal_factor(), blender::ed::sculpt_paint::filter::calc_enhance_details_filter(), blender::ed::sculpt_paint::filter::calc_erase_displacement_filter(), blender::ed::sculpt_paint::auto_mask::calc_face_factors(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), 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::filter::calc_sphere_filter(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::auto_mask::calc_view_normal_factor(), blender::ed::sculpt_paint::color::color_filter_task(), blender::ed::sculpt_paint::end_transform(), blender::ed::sculpt_paint::auto_mask::filter_cache_ensure(), blender::ed::sculpt_paint::init_transform(), blender::ed::sculpt_paint::filter::mesh_filter_surface_smooth_init(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_invoke(), 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_filter_end(), blender::ed::sculpt_paint::color::sculpt_color_filter_init(), blender::ed::sculpt_paint::color::sculpt_color_filter_modal(), blender::ed::sculpt_paint::color::sculpt_color_presmooth_init(), blender::ed::sculpt_paint::filter::sculpt_filter_specific_init(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_apply(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_apply_with_history(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_confirm(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_end(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_start(), blender::ed::sculpt_paint::filter::sculpt_mesh_update_strength(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), blender::ed::sculpt_paint::transform_radius_elastic(), and blender::ed::sculpt_paint::vertex_is_occluded().

◆ grid_size

int SculptSession::grid_size = -1

Definition at line 479 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::set_persistent_base_exec().

◆ grids_num

int SculptSession::grids_num = -1

Definition at line 478 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::set_persistent_base_exec().

◆ init_pivot_pos

◆ init_pivot_rot

blender::float4 SculptSession::init_pivot_rot = {}

◆ init_pivot_scale

◆ last_normal

blender::float3 SculptSession::last_normal

Definition at line 535 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::filter::cache_init().

◆ last_paint_canvas_key

char* SculptSession::last_paint_canvas_key = nullptr

Last used painting canvas key.

Definition at line 534 of file BKE_paint.hh.

Referenced by sculpt_update_object(), and ~SculptSession().

◆ level

int SculptSession::level = 0

Definition at line 394 of file BKE_paint.hh.

Referenced by modify_mesh(), and sculpt_update_object().

◆ [struct]

◆ mode_type

◆ modifier

◆ [struct]

◆ needs_flush_to_id

bool SculptSession::needs_flush_to_id = false

◆ pbvh

std::unique_ptr<blender::bke::pbvh::Tree> SculptSession::pbvh

Definition at line 418 of file BKE_paint.hh.

Referenced by BKE_sculptsession_free_pbvh(), and blender::bke::object::pbvh_ensure().

◆ [struct]

struct { ... } SculptSession::persistent

◆ pivot_pos

◆ pivot_rot

◆ pivot_scale

◆ pose_ik_chain_preview

◆ prev_pivot_pos

◆ prev_pivot_rot

◆ prev_pivot_scale

◆ preview_verts

◆ rv3d

◆ sculpt_persistent_co

blender::Array<blender::float3> SculptSession::sculpt_persistent_co

Definition at line 471 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::set_persistent_base_exec().

◆ sculpt_persistent_disp

blender::Array<float> SculptSession::sculpt_persistent_disp

Definition at line 473 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::set_persistent_base_exec().

◆ sculpt_persistent_no

blender::Array<blender::float3> SculptSession::sculpt_persistent_no

Definition at line 472 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::set_persistent_base_exec().

◆ shapekey_active

◆ sticky_shading_color

bool SculptSession::sticky_shading_color = false

Some tools follows the shading chosen by the last used tool canvas. When not set the viewport shading color would be used.

NOTE: This setting is temporarily until paint mode is added.

Definition at line 529 of file BKE_paint.hh.

Referenced by ED_image_paint_brush_type_update_sticky_shading_color(), and ED_paint_shading_color_override().

◆ subdiv_ccg

SubdivCCG* SculptSession::subdiv_ccg = nullptr

Definition at line 415 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::face_set::active_face_set_get(), blender::ed::sculpt_paint::expand::active_face_set_id_get(), active_vert_position(), blender::ed::sculpt_paint::expand::any_nonzero_mask(), blender::ed::sculpt_paint::cloth::apply_filter_forces_grids(), blender::ed::sculpt_paint::mask::apply_mask_grids(), blender::ed::sculpt_paint::mask::apply_new_mask_grids(), blender::ed::sculpt_paint::project::apply_projection_grids(), blender::ed::sculpt_paint::average_mask_border_position(), blender::ed::sculpt_paint::average_unmasked_position(), BKE_pbvh_get_grid_num_faces(), BKE_pbvh_get_grid_num_verts(), BKE_pbvh_sync_visibility_from_verts(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), blender::ed::sculpt_paint::expand::boundary_from_enabled(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_grids(), blender::ed::sculpt_paint::auto_mask::calc_blurred_cavity_grids(), 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::calc_factors_common_from_orig_data_grids(), blender::ed::sculpt_paint::calc_factors_common_grids(), blender::ed::sculpt_paint::cloth::calc_forces_grids(), blender::ed::sculpt_paint::brushes::calc_grids(), blender::ed::sculpt_paint::pose::calc_grids(), blender::ed::sculpt_paint::auto_mask::calc_grids_factors(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::filter::calc_limit_surface_positions(), blender::draw::pbvh::calc_material_indices(), blender::ed::sculpt_paint::pose::calc_pose_origin_and_factor_grids(), 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::islands::calc_topology_islands_grids(), blender::ed::sculpt_paint::face_set::clear_face_sets(), 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::boundary::data_init_grids(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::ed::sculpt_paint::brushes::do_displacement_smear_brush(), blender::ed::sculpt_paint::brushes::do_mask_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::brushes::do_smooth_mask_brush(), blender::ed::sculpt_paint::mask::duplicate_mask(), blender::ed::sculpt_paint::elastic_transform_node_grids(), blender::ed::sculpt_paint::expand::enabled_state_to_bitmap(), 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_grids(), blender::ed::sculpt_paint::undo::fill_node_data_grids(), blender::ed::sculpt_paint::auto_mask::fill_topology_automasking_factors(), blender::ed::sculpt_paint::find_symm_verts_grids(), blender::ed::sculpt_paint::mask::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::face_set::gesture_apply_mesh(), blender::ed::sculpt_paint::pose::grow_pose_factor(), blender::ed::sculpt_paint::hide::grow_shrink_visibility_grid(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_fk_grids(), blender::ed::sculpt_paint::pose::ik_chain_init_face_sets_grids(), blender::ed::sculpt_paint::pose::ik_chain_init_topology(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::boundary::init_boundary_grids(), blender::ed::sculpt_paint::auto_mask::init_boundary_masking_grids(), blender::ed::sculpt_paint::auto_mask::init_face_sets_masking(), blender::ed::sculpt_paint::expand::init_from_face_set_boundary(), blender::ed::sculpt_paint::mask::init_mask_grids(), blender::ed::sculpt_paint::mask::invert_mask_grids(), blender::ed::sculpt_paint::expand::is_face_in_active_component(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), blender::draw::overlay::Sculpts::mesh_sync(), modify_mesh(), multires_flush_sculpt_updates(), multires_stitch_grids(), blender::ed::sculpt_paint::auto_mask::normal_occlusion_automasking_fill(), blender::ed::sculpt_paint::expand::normals_falloff_create(), blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive(), persistent_multires_data(), blender::ed::sculpt_paint::boundary::preview_data_init(), blender::ed::sculpt_paint::undo::push_begin_ex(), blender::ed::sculpt_paint::expand::reposition_pivot(), 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_mask_grids(), blender::ed::sculpt_paint::undo::restore_position_from_undo_step(), blender::ed::sculpt_paint::brushes::sample_node_surface_grids(), blender::ed::sculpt_paint::expand::sculpt_expand_invoke(), 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(), sculpt_update_object(), blender::ed::sculpt_paint::set_persistent_base_exec(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), blender::ed::sculpt_paint::stroke_get_location_bvh_ex(), blender::ed::sculpt_paint::hide::sync_all_from_faces(), blender::ed::sculpt_paint::undo::topology_matches(), blender::ed::sculpt_paint::transform_node_grids(), blender::ed::sculpt_paint::transform_radius_elastic(), blender::bke::pbvh::Tree::update_bounds(), blender::ed::sculpt_paint::expand::update_for_vert(), blender::bke::pbvh::Tree::update_normals(), blender::bke::pbvh::Tree::update_visibility(), blender::ed::sculpt_paint::undo::use_multires_undo(), blender::ed::sculpt_paint::expand::vert_to_face_falloff_grids(), blender::ed::sculpt_paint::vertex_is_occluded(), and blender::ed::sculpt_paint::expand::write_mask_data().

◆ tex_pool

◆ topology_island_cache

◆ v3d

◆ vert_normals_deform

blender::SharedCache<blender::Vector<blender::float3> > SculptSession::vert_normals_deform

Normals corresponding to the deform_cos evaluated/deform positions. Stored as a #SharedCache for consistency with mesh caches in #MeshRuntime::vert_normals_cache.

Definition at line 431 of file BKE_paint.hh.

Referenced by BKE_sculptsession_free_deformMats(), and blender::bke::pbvh::vert_normals_cache_eval().

◆ vert_to_edge_indices

blender::Array<int> SculptSession::vert_to_edge_indices

Definition at line 406 of file BKE_paint.hh.

Referenced by BKE_sculptsession_free_pbvh().

◆ vert_to_edge_map

blender::GroupedSpan<int> SculptSession::vert_to_edge_map

Definition at line 407 of file BKE_paint.hh.

Referenced by BKE_sculptsession_free_pbvh().

◆ vert_to_edge_offsets

blender::Array<int> SculptSession::vert_to_edge_offsets

Definition at line 405 of file BKE_paint.hh.

Referenced by BKE_sculptsession_free_pbvh().

◆ vertex_info

◆ [struct]


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