Blender V4.3
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_vert (bool persist_last_active)
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< intedge_to_face_offsets
blender::Array< intedge_to_face_indices
blender::GroupedSpan< intedge_to_face_map
blender::Array< intvert_to_edge_offsets
blender::Array< intvert_to_edge_indices
blender::GroupedSpan< intvert_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< intactive_face_index
std::optional< intactive_grid_index
bool draw_faded_cursor = false
float cursor_radius = 0.0f
blender::float3 cursor_location
blender::float3 cursor_normal
blender::float3 cursor_sampled_normal
blender::float3 cursor_view_normal
RegionView3Drv3d = nullptr
View3Dv3d = nullptr
blender::Array< intpreview_verts
std::unique_ptr< SculptPoseIKChainPreviewpose_ik_chain_preview
std::unique_ptr< SculptBoundaryPreviewboundary_preview
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
char 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 379 of file BKE_paint.hh.

Constructor & Destructor Documentation

◆ SculptSession()

SculptSession::SculptSession ( )

Definition at line 2163 of file paint.cc.

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

References BKE_subdiv_ccg_key_top_level(), BLI_assert_unreachable, BMVert::co, depsgraph, subdiv_ccg, SubdivCCGCoord::to_index(), 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(), SCULPT_cursor_geometry_info_update(), and blender::ed::sculpt_paint::set_pivot_position_exec().

◆ clear_active_vert()

void SculptSession::clear_active_vert ( bool persist_last_active)

Definition at line 2245 of file paint.cc.

Referenced by BKE_sculptsession_free_pbvh(), and SCULPT_cursor_geometry_info_update().

◆ last_active_vert()

ActiveVert SculptSession::last_active_vert ( ) const

Definition at line 2185 of file paint.cc.

◆ last_active_vert_index()

int SculptSession::last_active_vert_index ( ) const

◆ set_active_vert()

void SculptSession::set_active_vert ( ActiveVert vert)

Definition at line 2258 of file paint.cc.

Referenced by SCULPT_cursor_geometry_info_update().

Member Data Documentation

◆ active

◆ active_face_index

◆ active_grid_index

◆ alpha_weight

◆ bm

BMesh* SculptSession::bm = nullptr

Definition at line 400 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_push(), blender::ed::sculpt_paint::undo::bmesh_restore_begin(), blender::ed::sculpt_paint::undo::bmesh_restore_end(), 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::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::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_bmesh(), blender::ed::sculpt_paint::auto_mask::calc_vert_factors(), blender::ed::sculpt_paint::dyntopo::check_attribute_warning(), 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::do_mask_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::do_smooth_brush(), blender::ed::sculpt_paint::do_smooth_mask_brush(), blender::ed::sculpt_paint::do_surface_smooth_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::draw::pbvh::fill_vbos_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::face_set::gesture_apply_bmesh(), 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(), OVERLAY_sculpt_cache_populate(), 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::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::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_stroke_get_location_ex(), SCULPT_vertex_count_get(), SCULPT_vertex_random_access_ensure(), 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::update_bounds(), blender::ed::sculpt_paint::expand::update_for_vert(), and blender::ed::sculpt_paint::expand::write_mask_data().

◆ bm_log

BMLog* SculptSession::bm_log = nullptr

Definition at line 402 of file BKE_paint.hh.

Referenced by blender::ed::sculpt_paint::undo::bmesh_enable(), blender::ed::sculpt_paint::undo::bmesh_push(), blender::ed::sculpt_paint::undo::bmesh_restore(), blender::ed::sculpt_paint::undo::bmesh_restore_begin(), blender::ed::sculpt_paint::undo::bmesh_restore_end(), 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::filter::calc_enhance_details_filter(), 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_sphere_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

blender::ed::sculpt_paint::StrokeCache* SculptSession::cache = nullptr

Definition at line 427 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::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::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::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::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::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::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_foces(), blender::ed::sculpt_paint::cloth::cloth_brush_simulation_location_get(), blender::ed::sculpt_paint::boundary::displacement_from_grab_delta_get(), blender::ed::sculpt_paint::do_bmesh_topology_rake_brush(), blender::ed::sculpt_paint::boundary::do_boundary_brush(), blender::ed::sculpt_paint::do_brush_action(), blender::ed::sculpt_paint::do_clay_brush(), blender::ed::sculpt_paint::do_clay_strips_brush(), blender::ed::sculpt_paint::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::do_displacement_eraser_brush(), blender::ed::sculpt_paint::do_displacement_smear_brush(), blender::ed::sculpt_paint::do_draw_brush(), blender::ed::sculpt_paint::do_draw_sharp_brush(), blender::ed::sculpt_paint::do_elastic_deform_brush(), blender::ed::sculpt_paint::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::do_grab_brush(), blender::ed::sculpt_paint::do_gravity_brush(), blender::ed::sculpt_paint::do_inflate_brush(), blender::ed::sculpt_paint::do_layer_brush(), blender::ed::sculpt_paint::do_mask_brush(), blender::ed::sculpt_paint::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::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::do_pinch_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::do_radial_symmetry(), blender::ed::sculpt_paint::do_relax_face_sets_brush(), blender::ed::sculpt_paint::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::do_snake_hook_brush(), blender::ed::sculpt_paint::do_surface_smooth_brush(), blender::ed::sculpt_paint::do_symmetrical_brush_actions(), blender::ed::sculpt_paint::do_thumb_brush(), blender::ed::sculpt_paint::do_tiled(), blender::ed::sculpt_paint::do_topology_relax_brush(), blender::ed::sculpt_paint::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(), extend_redraw_rect_previous(), 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::flush_update_step(), 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::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::sample_node_surface_bmesh(), blender::ed::sculpt_paint::sample_node_surface_grids(), blender::ed::sculpt_paint::sample_node_surface_mesh(), sculpt_apply_texture(), SCULPT_brush_frontface_normal_from_falloff_shape(), blender::ed::sculpt_paint::sculpt_brush_needs_normal(), SCULPT_brush_plane_offset_get(), 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(), sculpt_find_nearest_to_ray_cb(), 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(), sculpt_raycast_cb(), SCULPT_stroke_get_location_ex(), SCULPT_tilt_effective_normal_get(), blender::ed::sculpt_paint::sculpt_update_cache_invariants(), blender::ed::sculpt_paint::sculpt_update_cache_variants(), SCULPT_vertex_is_occluded(), blender::ed::sculpt_paint::cloth::solve_verts_simulation(), blender::ed::sculpt_paint::stroke_done(), blender::ed::sculpt_paint::dyntopo::stroke_is_dyntopo(), blender::ed::sculpt_paint::stroke_update_step(), 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(), 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

blender::float3 SculptSession::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 428 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::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(), SCULPT_vertex_is_occluded(), and blender::ed::sculpt_paint::transform_radius_elastic().

◆ 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 511 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 510 of file BKE_paint.hh.

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

◆ level

int SculptSession::level = 0

Definition at line 384 of file BKE_paint.hh.

Referenced by modify_mesh(), and sculpt_update_object().

◆ [struct]

◆ mode_type

◆ modifier

◆ [struct]

◆ needs_flush_to_id

◆ pbvh

◆ pivot_pos

◆ pivot_rot

◆ pivot_scale

◆ pose_ik_chain_preview

◆ prev_pivot_pos

◆ prev_pivot_rot

◆ prev_pivot_scale

◆ preview_verts

◆ rv3d

◆ 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 505 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 405 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_index(), 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::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::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::boundary::data_init(), blender::ed::sculpt_paint::boundary::data_init_grids(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::ed::sculpt_paint::do_displacement_smear_brush(), blender::ed::sculpt_paint::do_mask_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::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::draw::pbvh::ensure_vbos_allocated_grids(), 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::draw::pbvh::fill_vbos_grids(), 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(), last_active_vert_index(), 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(), OVERLAY_sculpt_cache_populate(), blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive(), 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::sample_node_surface_grids(), SCULPT_cursor_geometry_info_update(), 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_stroke_get_location_ex(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), sculpt_update_object(), SCULPT_vertex_is_occluded(), blender::ed::sculpt_paint::expand::spherical_falloff_create(), 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::update_bounds(), blender::ed::sculpt_paint::expand::update_for_vert(), blender::bke::pbvh::update_normals(), blender::bke::pbvh::update_visibility(), blender::ed::sculpt_paint::undo::use_multires_undo(), blender::ed::sculpt_paint::expand::vert_to_face_falloff_grids(), 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 421 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 396 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 397 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 395 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: