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, SubdivCCG::positions, 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_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

◆ 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

char SculptSession::needs_flush_to_id = false

◆ 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: