Blender V5.0
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 369 of file BKE_paint.hh.

Constructor & Destructor Documentation

◆ SculptSession()

SculptSession::SculptSession ( )
default

References depsgraph.

◆ ~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 2403 of file paint.cc.

References BLI_assert_unreachable, BMVert::co, depsgraph, 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::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 2372 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 2442 of file paint.cc.

References BLI_assert, persistent, and subdiv_ccg.

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 2437 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 390 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 392 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(), 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 417 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

blender::GroupedSpan<int> SculptSession::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 418 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 459 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 458 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 515 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 514 of file BKE_paint.hh.

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

◆ level

int SculptSession::level = 0

Definition at line 374 of file BKE_paint.hh.

Referenced by modify_mesh(), and sculpt_update_object().

◆ [struct]

◆ mode_type

◆ modifier

◆ [struct]

◆ needs_flush_to_id

◆ pbvh

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

Definition at line 398 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 451 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 453 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 452 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 509 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 395 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 411 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 386 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 387 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 385 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: