|
Blender V4.3
|
Classes | |
| struct | Node |
| struct | NodeGeometry |
| struct | SculptAttrRef |
| struct | SculptUndoStep |
| struct | StepData |
Enumerations | |
| enum class | Type : int8_t { None , Position , HideVert , HideFace , Mask , DyntopoBegin , DyntopoEnd , Geometry , FaceSet , Color } |
Functions | |
| static void | restore_mask_from_undo_step (Object &object) |
| static void | restore_color_from_undo_step (Object &object) |
| static void | restore_face_set_from_undo_step (Object &object) |
| void | restore_position_from_undo_step (const Depsgraph &depsgraph, Object &object) |
| static void | restore_from_undo_step (const Depsgraph &depsgraph, const Sculpt &sd, Object &object) |
| static SculptUndoStep * | get_active_step () |
| static StepData * | get_step_data () |
| static bool | use_multires_undo (const StepData &step_data, const SculptSession &ss) |
| static bool | topology_matches (const StepData &step_data, const Object &object) |
| static bool | indices_contain_true (const Span< bool > data, const Span< int > indices) |
| static bool | restore_active_shape_key (bContext &C, Depsgraph &depsgraph, const StepData &step_data, Object &object) |
| static void | update_shapekeys (const Object &ob, KeyBlock *kb, const Span< float3 > new_positions) |
| static void | restore_position_mesh (const Depsgraph &depsgraph, Object &object, const Span< std::unique_ptr< Node > > unodes, MutableSpan< bool > modified_verts) |
| static void | restore_position_grids (MutableSpan< float3 > positions, const CCGKey &key, Node &unode, MutableSpan< bool > modified_grids) |
| static void | restore_vert_visibility_mesh (Object &object, Node &unode, MutableSpan< bool > modified_vertices) |
| static void | restore_vert_visibility_grids (SubdivCCG &subdiv_ccg, Node &unode, MutableSpan< bool > modified_grids) |
| static void | restore_hidden_face (Object &object, Node &unode, MutableSpan< bool > modified_faces) |
| static void | restore_color (Object &object, StepData &step_data, MutableSpan< bool > modified_vertices) |
| static void | restore_mask_mesh (Object &object, Node &unode, MutableSpan< bool > modified_vertices) |
| static void | restore_mask_grids (Object &object, Node &unode, MutableSpan< bool > modified_grids) |
| static bool | restore_face_sets (Object &object, Node &unode, MutableSpan< bool > modified_face_set_faces) |
| static void | bmesh_restore_generic (StepData &step_data, Object &object, SculptSession &ss) |
| static void | bmesh_enable (Object &object, StepData &step_data) |
| static void | bmesh_restore_begin (bContext *C, StepData &step_data, Object &object, SculptSession &ss) |
| static void | bmesh_restore_end (bContext *C, StepData &step_data, Object &object, SculptSession &ss) |
| static void | store_geometry_data (NodeGeometry *geometry, const Object &object) |
| static void | restore_geometry_data (const NodeGeometry *geometry, Mesh *mesh) |
| static void | geometry_free_data (NodeGeometry *geometry) |
| static void | restore_geometry (StepData &step_data, Object &object) |
| static int | bmesh_restore (bContext *C, Depsgraph &depsgraph, StepData &step_data, Object &object, SculptSession &ss) |
| void | restore_from_bmesh_enter_geometry (const StepData &step_data, Mesh &mesh) |
| BMLogEntry * | get_bmesh_log_entry () |
| static void | refine_subdiv (Depsgraph *depsgraph, SculptSession &ss, Object &object, bke::subdiv::Subdiv *subdiv) |
| static void | restore_list (bContext *C, Depsgraph *depsgraph, StepData &step_data) |
| static void | free_step_data (StepData &step_data) |
| static const Node * | get_node (const bke::pbvh::Node *node, const Type type) |
| static void | store_vert_visibility_grids (const SubdivCCG &subdiv_ccg, const bke::pbvh::GridsNode &node, Node &unode) |
| static void | store_positions_mesh (const Depsgraph &depsgraph, const Object &object, Node &unode) |
| static void | store_positions_grids (const SubdivCCG &subdiv_ccg, Node &unode) |
| static void | store_vert_visibility_mesh (const Mesh &mesh, const bke::pbvh::Node &node, Node &unode) |
| static void | store_face_visibility (const Mesh &mesh, Node &unode) |
| static void | store_mask_mesh (const Mesh &mesh, Node &unode) |
| static void | store_mask_grids (const SubdivCCG &subdiv_ccg, Node &unode) |
| static void | store_color (const Mesh &mesh, const bke::pbvh::MeshNode &node, Node &unode) |
| static NodeGeometry * | geometry_get (StepData &step_data) |
| static void | geometry_push (const Object &object) |
| static void | store_face_sets (const Mesh &mesh, Node &unode) |
| static void | fill_node_data_mesh (const Depsgraph &depsgraph, const Object &object, const bke::pbvh::MeshNode &node, const Type type, Node &unode) |
| static void | fill_node_data_grids (const Object &object, const bke::pbvh::GridsNode &node, const Type type, Node &unode) |
| static BLI_NOINLINE void | bmesh_push (const Object &object, const bke::pbvh::BMeshNode *node, Type type) |
| static Node * | ensure_node (StepData &step_data, const bke::pbvh::Node &node, bool &r_new) |
| void | push_node (const Depsgraph &depsgraph, const Object &object, const bke::pbvh::Node *node, Type type) |
| void | push_nodes (const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask, const Type type) |
| static void | save_active_attribute (Object &object, SculptAttrRef *attr) |
| void | push_begin_ex (const Scene &, Object &ob, const char *name) |
| void | push_begin (const Scene &scene, Object &ob, const wmOperator *op) |
| static size_t | node_size_in_bytes (const Node &node) |
| void | push_end_ex (Object &ob, const bool use_nested_undo) |
| void | push_end (Object &ob) |
Implements ED Undo System | |
| void | register_type (UndoType *ut) |
| void | geometry_begin (const Scene &scene, Object &ob, const wmOperator *op) |
| void | geometry_begin_ex (const Scene &scene, Object &ob, const char *name) |
| void | geometry_end (Object &ob) |
| static void | set_active_layer (bContext *C, SculptAttrRef *attr) |
| static void | step_encode_init (bContext *, UndoStep *us_p) |
| static bool | step_encode (bContext *, Main *bmain, UndoStep *us_p) |
| static void | step_decode_undo_impl (bContext *C, Depsgraph *depsgraph, SculptUndoStep *us) |
| static void | step_decode_redo_impl (bContext *C, Depsgraph *depsgraph, SculptUndoStep *us) |
| static void | step_decode_undo (bContext *C, Depsgraph *depsgraph, SculptUndoStep *us, const bool is_final) |
| static void | step_decode_redo (bContext *C, Depsgraph *depsgraph, SculptUndoStep *us) |
| static void | step_decode (bContext *C, Main *bmain, UndoStep *us_p, const eUndoStepDir dir, bool is_final) |
| static void | step_free (UndoStep *us_p) |
Undo for changes happening on a base mesh for multires sculpting. | |
Use this for multires operators which changes base mesh and which are to be possible. Example of such operators is Apply Base. Usage: static int operator_exec((bContext *C, wmOperator *op) { ED_sculpt_undo_push_mixed_begin(C, op->type->name); // Modify base mesh. ED_sculpt_undo_push_mixed_end(C, op->type->name); return OPERATOR_FINISHED; } If object is not in sculpt mode or sculpt does not happen on multires then regular ED_undo_push() is used. | |
| void | push_multires_mesh_begin (bContext *C, const char *str) |
| void | push_multires_mesh_end (bContext *C, const char *str) |
| static bool | use_multires_mesh (bContext *C) |
| static void | push_all_grids (const Depsgraph &depsgraph, Object *object) |
|
strong |
| Enumerator | |
|---|---|
| None | |
| Position | |
| HideVert | |
| HideFace | |
| Mask | |
| DyntopoBegin | |
| DyntopoEnd | |
| Geometry | |
| FaceSet | |
| Color | |
Definition at line 28 of file sculpt_undo.hh.
|
static |
Definition at line 660 of file sculpt_undo.cc.
References BKE_sculptsession_free_pbvh(), SculptSession::bm, BM_data_layer_add_named(), blender::ed::sculpt_paint::undo::StepData::bm_entry, SculptSession::bm_log, BM_log_from_existing_entries_create(), bm_mesh_allocsize_default, BM_mesh_create(), bmesh_enable(), CD_PROP_FLOAT, DEG_id_tag_update(), ID_RECALC_GEOMETRY, ME_SCULPT_DYNAMIC_TOPOLOGY, BMeshCreateParams::use_toolflags, and BMesh::vdata.
Referenced by bmesh_enable(), bmesh_restore_begin(), and bmesh_restore_end().
|
static |
Dynamic topology stores only one undo node per stroke, regardless of the number of bke::pbvh::Tree nodes modified.
Definition at line 1490 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::applied, BKE_pbvh_bmesh_node_faces(), BKE_pbvh_bmesh_node_other_verts(), BKE_pbvh_bmesh_node_unique_verts(), BLI_assert_unreachable, SculptSession::bm, blender::ed::sculpt_paint::undo::StepData::bm_entry, SculptSession::bm_log, BM_log_all_added(), BM_log_before_all_removed(), BM_log_entry_add(), BM_log_face_modified(), BM_log_vert_before_modified(), bmesh_push(), CD_PROP_FLOAT, CustomData_get_offset_named(), blender::ed::sculpt_paint::undo::StepData::geometry_bmesh_enter, get_step_data(), lock, node, blender::ed::sculpt_paint::undo::StepData::nodes, blender::ed::sculpt_paint::undo::StepData::nodes_mutex, store_geometry_data(), blender::ed::sculpt_paint::undo::StepData::type, and BMesh::vdata.
Referenced by bmesh_push(), push_node(), and push_nodes().
|
static |
Definition at line 802 of file sculpt_undo.cc.
References BKE_sculpt_update_object_for_edit(), SculptSession::bm_log, bmesh_restore(), bmesh_restore_begin(), bmesh_restore_end(), bmesh_restore_generic(), depsgraph, and blender::ed::sculpt_paint::undo::StepData::type.
Referenced by bmesh_restore(), and restore_list().
|
static |
Definition at line 681 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::applied, SculptSession::bm, SculptSession::bm_log, BM_log_redo(), bmesh_enable(), and bmesh_restore_begin().
Referenced by bmesh_restore(), and bmesh_restore_begin().
|
static |
Definition at line 700 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::applied, SculptSession::bm, SculptSession::bm_log, BM_log_undo(), bmesh_enable(), and bmesh_restore_end().
Referenced by bmesh_restore(), and bmesh_restore_end().
|
static |
Definition at line 635 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::applied, BKE_sculptsession_free_pbvh(), SculptSession::bm, SculptSession::bm_log, BM_log_redo(), BM_log_undo(), BM_mesh_normals_update(), bmesh_restore_generic(), DEG_id_tag_update(), ID_RECALC_GEOMETRY, blender::bke::pbvh::Tree::tag_masks_changed(), and blender::ed::sculpt_paint::undo::StepData::type.
Referenced by bmesh_restore(), and bmesh_restore_generic().
|
static |
Add an undo node for the bke::pbvh::Tree node to the step's storage. If the node was newly created and needs to be filled with data, set r_new to true.
Definition at line 1581 of file sculpt_undo.cc.
References ensure_node(), lock, blender::ed::sculpt_paint::undo::StepData::nodes_mutex, and blender::ed::sculpt_paint::undo::StepData::undo_nodes_by_pbvh_node.
Referenced by ensure_node(), push_node(), and push_nodes().
|
static |
Definition at line 1421 of file sculpt_undo.cc.
References BLI_assert_unreachable, ELEM, blender::ed::sculpt_paint::undo::Node::face_hidden, blender::ed::sculpt_paint::undo::Node::face_indices, blender::ed::sculpt_paint::undo::Node::face_sets, fill_node_data_grids(), SubdivCCG::grid_size, blender::ed::sculpt_paint::undo::Node::grids, blender::ed::sculpt_paint::undo::Node::mask, blender::ed::sculpt_paint::undo::Node::normal, blender::ed::sculpt_paint::undo::Node::position, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), store_face_sets(), store_face_visibility(), store_mask_grids(), store_positions_grids(), store_vert_visibility_grids(), and SculptSession::subdiv_ccg.
Referenced by fill_node_data_grids(), and push_node().
|
static |
Definition at line 1352 of file sculpt_undo.cc.
References BLI_assert_unreachable, SculptSession::deform_modifiers_active, depsgraph, ELEM, blender::ed::sculpt_paint::undo::Node::face_hidden, blender::ed::sculpt_paint::undo::Node::face_indices, blender::ed::sculpt_paint::undo::Node::face_sets, fill_node_data_mesh(), blender::ed::sculpt_paint::undo::Node::mask, blender::ed::sculpt_paint::undo::Node::normal, blender::ed::sculpt_paint::undo::Node::orig_position, blender::ed::sculpt_paint::undo::Node::position, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), store_color(), store_face_sets(), store_face_visibility(), store_mask_mesh(), store_positions_mesh(), store_vert_visibility_mesh(), blender::ed::sculpt_paint::undo::Node::unique_verts_num, blender::ed::sculpt_paint::undo::Node::vert_hidden, and blender::ed::sculpt_paint::undo::Node::vert_indices.
Referenced by fill_node_data_mesh(), and push_node().
|
static |
Definition at line 1156 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::bm_entry, BM_log_entry_drop(), free_step_data(), blender::ed::sculpt_paint::undo::StepData::geometry_bmesh_enter, geometry_free_data(), blender::ed::sculpt_paint::undo::StepData::geometry_modified, and blender::ed::sculpt_paint::undo::StepData::geometry_original.
Referenced by free_step_data(), and step_free().
| void blender::ed::sculpt_paint::undo::geometry_begin | ( | const Scene & | scene, |
| Object & | ob, | ||
| const wmOperator * | op ) |
Pushes an undo step using the operator name. This is necessary for redo panels to work; operators that do not support that may use geometry_begin_ex instead if so desired.
Definition at line 2058 of file sculpt_undo.cc.
References geometry_begin(), geometry_push(), and push_begin().
Referenced by geometry_begin(), blender::ed::sculpt_paint::trim::gesture_begin(), blender::ed::object::quadriflow_start_job(), blender::ed::geometry::store_result_geometry(), blender::ed::sculpt_paint::symmetrize_exec(), and blender::ed::object::voxel_remesh_exec().
| void blender::ed::sculpt_paint::undo::geometry_begin_ex | ( | const Scene & | scene, |
| Object & | ob, | ||
| const char * | name ) |
Definition at line 2064 of file sculpt_undo.cc.
References geometry_begin_ex(), geometry_push(), and push_begin_ex().
Referenced by geometry_begin_ex().
| void blender::ed::sculpt_paint::undo::geometry_end | ( | Object & | ob | ) |
Definition at line 2070 of file sculpt_undo.cc.
References geometry_end(), geometry_push(), and push_end().
Referenced by geometry_end(), blender::ed::sculpt_paint::trim::gesture_end(), blender::ed::object::quadriflow_start_job(), blender::ed::geometry::store_result_geometry(), blender::ed::sculpt_paint::symmetrize_exec(), and blender::ed::object::voxel_remesh_exec().
|
static |
Definition at line 769 of file sculpt_undo.cc.
References CustomData_free(), and geometry_free_data().
Referenced by free_step_data(), and geometry_free_data().
|
static |
Definition at line 1316 of file sculpt_undo.cc.
References BLI_assert, geometry_get(), blender::ed::sculpt_paint::undo::StepData::geometry_modified, blender::ed::sculpt_paint::undo::StepData::geometry_original, and blender::ed::sculpt_paint::undo::NodeGeometry::is_initialized.
Referenced by geometry_get(), and geometry_push().
|
static |
Definition at line 1327 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::applied, blender::ed::sculpt_paint::undo::StepData::geometry_clear_pbvh, geometry_get(), geometry_push(), get_step_data(), store_geometry_data(), and blender::ed::sculpt_paint::undo::StepData::type.
Referenced by geometry_begin(), geometry_begin_ex(), geometry_end(), geometry_push(), push_multires_mesh_begin(), and push_multires_mesh_end().
|
static |
Definition at line 263 of file sculpt_undo.cc.
References BKE_undosys_stack_init_or_active_with_type(), BKE_UNDOSYS_TYPE_SCULPT, and ED_undo_stack_get().
Referenced by get_step_data().
| BMLogEntry * blender::ed::sculpt_paint::undo::get_bmesh_log_entry | ( | ) |
Definition at line 832 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::bm_entry, get_bmesh_log_entry(), and get_step_data().
Referenced by blender::ed::sculpt_paint::calc_area_normal_and_center_node_bmesh(), get_bmesh_log_entry(), and restore_position_from_undo_step().
|
static |
Retrieve the undo data of a given type for the active undo step. For example, this is used to access "original" data from before the current stroke.
This is only possible when building an undo step, in between push_begin and push_end.
Definition at line 1173 of file sculpt_undo.cc.
References get_node(), get_step_data(), blender::ed::sculpt_paint::undo::StepData::type, and blender::ed::sculpt_paint::undo::StepData::undo_nodes_by_pbvh_node.
Referenced by get_node(), blender::ed::sculpt_paint::orig_color_data_lookup_mesh(), blender::ed::sculpt_paint::orig_face_set_data_lookup_grids(), blender::ed::sculpt_paint::orig_face_set_data_lookup_mesh(), blender::ed::sculpt_paint::orig_mask_data_lookup_grids(), blender::ed::sculpt_paint::orig_mask_data_lookup_mesh(), blender::ed::sculpt_paint::orig_position_data_lookup_grids(), and blender::ed::sculpt_paint::orig_position_data_lookup_mesh_all_verts().
|
static |
Definition at line 270 of file sculpt_undo.cc.
References get_active_step().
Referenced by bmesh_push(), geometry_push(), get_bmesh_log_entry(), get_node(), push_end_ex(), push_multires_mesh_begin(), push_multires_mesh_end(), push_node(), and push_nodes().
|
static |
Definition at line 295 of file sculpt_undo.cc.
Referenced by restore_list().
|
static |
Definition at line 1781 of file sculpt_undo.cc.
References node_size_in_bytes(), and size().
Referenced by node_size_in_bytes().
|
static |
Definition at line 2126 of file sculpt_undo.cc.
References depsgraph, push_all_grids(), and push_nodes().
Referenced by push_all_grids(), and push_multires_mesh_begin().
| void blender::ed::sculpt_paint::undo::push_begin | ( | const Scene & | scene, |
| Object & | ob, | ||
| const wmOperator * | op ) |
Pushes an undo step using the operator name. This is necessary for redo panels to work; operators that do not support that may use push_begin_ex instead if so desired.
Definition at line 1776 of file sculpt_undo.cc.
References wmOperatorType::name, push_begin(), push_begin_ex(), and wmOperator::type.
Referenced by geometry_begin(), blender::ed::sculpt_paint::project::gesture_begin(), blender::ed::sculpt_paint::mask::mask_by_color_invoke(), blender::ed::sculpt_paint::mask::mask_from_boundary_exec(), blender::ed::sculpt_paint::mask::mask_from_cavity_exec(), push_begin(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_invoke(), blender::ed::sculpt_paint::color::sculpt_color_filter_init(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_start(), blender::ed::sculpt_paint::sculpt_mode_toggle_exec(), blender::ed::sculpt_paint::symmetrize_exec(), vertex_color_set_exec(), and blender::ed::sculpt_paint::hide::visibility_invert_exec().
| void blender::ed::sculpt_paint::undo::push_begin_ex | ( | const Scene & | scene, |
| Object & | ob, | ||
| const char * | name ) |
NOTE: push_begin is preferred since name must match operator name for redo panels to work.
Definition at line 1719 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::SculptUndoStep::active_color_end, blender::ed::sculpt_paint::undo::SculptUndoStep::active_color_start, blender::ed::sculpt_paint::undo::StepData::active_shape_key_name, BKE_keyblock_from_object(), BKE_undosys_step_push_init_with_type(), BKE_UNDOSYS_TYPE_SCULPT, blender::ed::sculpt_paint::undo::SculptUndoStep::data, Object::data, ED_undo_stack_get(), ED_undosys_stack_memfile_id_changed_tag(), blender::ed::sculpt_paint::undo::StepData::grid_size, SubdivCCG::grid_size, SubdivCCG::grids_num, Object::id, blender::ed::sculpt_paint::undo::StepData::mesh_corners_num, blender::ed::sculpt_paint::undo::StepData::mesh_grids_num, blender::ed::sculpt_paint::undo::StepData::mesh_verts_num, ID::name, blender::ed::sculpt_paint::undo::StepData::object_name, blender::ed::sculpt_paint::undo::StepData::pivot_pos, SculptSession::pivot_pos, blender::ed::sculpt_paint::undo::StepData::pivot_rot, SculptSession::pivot_rot, push_begin_ex(), save_active_attribute(), Object::sculpt, SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::type(), and blender::ed::sculpt_paint::undo::SculptAttrRef::was_set.
Referenced by blender::ed::sculpt_paint::dyntopo::disable_with_undo(), blender::ed::sculpt_paint::dyntopo::enable_with_undo(), geometry_begin_ex(), blender::ed::sculpt_paint::hide::hide_show_all_exec(), blender::ed::sculpt_paint::hide::hide_show_masked_exec(), blender::ed::sculpt_paint::init_transform(), blender::ed::sculpt_paint::object_sculpt_mode_enter(), push_begin(), push_begin_ex(), push_multires_mesh_begin(), and vpaint_invoke().
| void blender::ed::sculpt_paint::undo::push_end | ( | Object & | ob | ) |
Definition at line 1847 of file sculpt_undo.cc.
References push_end(), and push_end_ex().
Referenced by blender::ed::sculpt_paint::dyntopo::disable_with_undo(), blender::ed::sculpt_paint::dyntopo::enable_with_undo(), blender::ed::sculpt_paint::end_transform(), geometry_end(), blender::ed::sculpt_paint::project::gesture_end(), blender::ed::sculpt_paint::hide::hide_show_all_exec(), blender::ed::sculpt_paint::hide::hide_show_masked_exec(), blender::ed::sculpt_paint::mask::mask_by_color_invoke(), blender::ed::sculpt_paint::mask::mask_from_boundary_exec(), blender::ed::sculpt_paint::mask::mask_from_cavity_exec(), blender::ed::sculpt_paint::object_sculpt_mode_enter(), push_end(), push_multires_mesh_end(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::color::sculpt_color_filter_end(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::ed::sculpt_paint::mask::sculpt_mask_init_exec(), blender::ed::sculpt_paint::sculpt_mode_toggle_exec(), blender::ed::sculpt_paint::symmetrize_exec(), vertex_color_set_exec(), blender::ed::sculpt_paint::hide::visibility_invert_exec(), and vpaint_stroke_done().
| void blender::ed::sculpt_paint::undo::push_end_ex | ( | Object & | ob, |
| const bool | use_nested_undo ) |
Definition at line 1801 of file sculpt_undo.cc.
References get_step_data(), blender::ed::sculpt_paint::undo::StepData::nodes, push_end_ex(), blender::ed::sculpt_paint::undo::StepData::undo_nodes_by_pbvh_node, and blender::ed::sculpt_paint::undo::StepData::undo_size.
Referenced by push_end(), push_end_ex(), and blender::ed::sculpt_paint::filter::sculpt_mesh_filter_modal().
| void blender::ed::sculpt_paint::undo::push_multires_mesh_begin | ( | bContext * | C, |
| const char * | str ) |
Undo for changes happening on a base mesh for multires sculpting. if there is no multi-res sculpt active regular undo is used.
Definition at line 2146 of file sculpt_undo.cc.
References CTX_data_active_object(), CTX_data_depsgraph_pointer(), CTX_data_scene(), depsgraph, blender::ed::sculpt_paint::undo::StepData::geometry_clear_pbvh, geometry_push(), get_step_data(), push_all_grids(), push_begin_ex(), push_multires_mesh_begin(), str, and use_multires_mesh().
Referenced by blender::ed::object::multires_base_apply_exec(), and push_multires_mesh_begin().
| void blender::ed::sculpt_paint::undo::push_multires_mesh_end | ( | bContext * | C, |
| const char * | str ) |
Definition at line 2164 of file sculpt_undo.cc.
References CTX_data_active_object(), ED_undo_push(), blender::ed::sculpt_paint::undo::StepData::geometry_clear_pbvh, geometry_push(), get_step_data(), push_end(), push_multires_mesh_end(), str, and use_multires_mesh().
Referenced by blender::ed::object::multires_base_apply_exec(), and push_multires_mesh_end().
| void blender::ed::sculpt_paint::undo::push_node | ( | const Depsgraph & | depsgraph, |
| const Object & | object, | ||
| const bke::pbvh::Node * | node, | ||
| undo::Type | type ) |
Store undo data of the given type for a pbvh::Tree node. This function can be called by multiple threads concurrently, as long as they don't pass the same pbvh::Tree node.
This is only possible when building an undo step, in between push_begin and push_end.
Definition at line 1593 of file sculpt_undo.cc.
References BLI_assert, BLI_assert_unreachable, SculptSession::bm, bmesh_push(), depsgraph, ELEM, ensure_node(), fill_node_data_grids(), fill_node_data_mesh(), get_step_data(), SculptSession::needs_flush_to_id, push_node(), blender::bke::pbvh::Tree::type(), and blender::ed::sculpt_paint::undo::StepData::type.
Referenced by blender::ed::sculpt_paint::mask::apply_new_mask_bmesh(), blender::ed::sculpt_paint::mask::apply_new_mask_grids(), blender::ed::sculpt_paint::mask::apply_new_mask_mesh(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_bmesh(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_mesh(), blender::ed::sculpt_paint::dyntopo::disable_with_undo(), blender::ed::sculpt_paint::dyntopo::enable_with_undo(), blender::ed::sculpt_paint::hide::grid_hide_update(), blender::ed::sculpt_paint::mask::increase_contrast_mask_bmesh(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::mask::increase_contrast_mask_mesh(), blender::ed::sculpt_paint::object_sculpt_mode_enter(), blender::ed::sculpt_paint::hide::partialvis_update_bmesh_nodes(), push_node(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), blender::ed::sculpt_paint::symmetrize_exec(), blender::ed::sculpt_paint::mask::update_mask_mesh(), and blender::ed::sculpt_paint::hide::vert_hide_update().
| void blender::ed::sculpt_paint::undo::push_nodes | ( | const Depsgraph & | depsgraph, |
| Object & | object, | ||
| const IndexMask & | node_mask, | ||
| const Type | type ) |
Definition at line 1632 of file sculpt_undo.cc.
References BLI_assert, SculptSession::bm, bmesh_push(), ELEM, ensure_node(), blender::index_mask::IndexMask::foreach_index(), get_step_data(), SculptSession::needs_flush_to_id, blender::bke::pbvh::Tree::nodes(), push_nodes(), blender::bke::pbvh::Tree::type(), and blender::ed::sculpt_paint::undo::StepData::type.
Referenced by blender::ed::sculpt_paint::filter::cache_init(), blender::ed::sculpt_paint::dynamic_topology_update(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::hide::grids_show_all(), blender::ed::sculpt_paint::mask::init_mask_grids(), blender::ed::sculpt_paint::hide::invert_visibility_bmesh(), blender::ed::sculpt_paint::hide::invert_visibility_grids(), blender::ed::sculpt_paint::hide::invert_visibility_mesh(), blender::ed::sculpt_paint::mask::mask_from_boundary_exec(), blender::ed::sculpt_paint::mask::mask_from_cavity_exec(), blender::ed::sculpt_paint::hide::mesh_show_all(), push_all_grids(), push_nodes(), blender::ed::sculpt_paint::push_undo_nodes(), vertex_color_set_exec(), vpaint_paint_leaves(), and blender::ed::sculpt_paint::mask::write_mask_mesh().
|
static |
Definition at line 850 of file sculpt_undo.cc.
References BKE_multires_create_deformed_base_mesh_vert_coords(), depsgraph, SculptSession::modifier, SculptSession::multires, and refine_subdiv().
Referenced by refine_subdiv(), and restore_list().
| void blender::ed::sculpt_paint::undo::register_type | ( | UndoType * | ut | ) |
Definition at line 2076 of file sculpt_undo.cc.
References UndoType::flags, UndoType::name, UndoType::poll, register_type(), step_decode(), UndoType::step_decode, step_encode(), UndoType::step_encode, step_encode_init(), UndoType::step_encode_init, step_free(), UndoType::step_free, UndoType::step_size, and UNDOTYPE_FLAG_DECODE_ACTIVE_STEP.
Referenced by register_type().
|
static |
Definition at line 300 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::active_shape_key_name, BKE_key_from_object(), BKE_keyblock_find_name(), BKE_sculpt_update_object_for_edit(), BLI_findindex(), Key::block, depsgraph, KeyBlock::name, NC_OBJECT, ND_DATA, SculptSession::shapekey_active, and WM_event_add_notifier().
Referenced by restore_list().
|
static |
Definition at line 548 of file sculpt_undo.cc.
References blender::bke::GSpanAttributeWriter::domain, blender::MutableSpan< T >::fill_indices(), blender::bke::GSpanAttributeWriter::finish(), blender::ed::sculpt_paint::undo::StepData::nodes, restore_color(), and blender::bke::GSpanAttributeWriter::span.
Referenced by restore_color(), and restore_list().
|
static |
Definition at line 929 of file sculpt.cc.
References blender::ed::sculpt_paint::color::active_color_attribute_for_write(), BLI_assert, blender::ed::sculpt_paint::color::color_vert_set(), blender::bke::GSpanAttributeWriter::domain, blender::bke::GSpanAttributeWriter::finish(), blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::from_predicate(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::ed::sculpt_paint::orig_color_data_lookup_mesh(), blender::bke::object::pbvh_get(), blender::bke::GSpanAttributeWriter::span, blender::bke::pbvh::Tree::tag_attribute_changed(), blender::bke::pbvh::Tree::type(), and verts.
Referenced by restore_from_undo_step().
|
static |
Definition at line 962 of file sculpt.cc.
References blender::bke::pbvh::all_leaf_nodes(), blender::bke::pbvh::BMesh, blender::ed::sculpt_paint::face_set::ensure_face_sets_mesh(), faces, blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::from_bools(), blender::bke::pbvh::Grids, blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::pbvh::Mesh, blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::node_face_indices_calc_grids(), blender::bke::pbvh::Tree::nodes(), blender::ed::sculpt_paint::orig_face_set_data_lookup_grids(), blender::ed::sculpt_paint::orig_face_set_data_lookup_mesh(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::scatter_data_mesh(), SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::tag_face_sets_changed(), and blender::bke::pbvh::Tree::type().
Referenced by restore_from_undo_step().
|
static |
Definition at line 613 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::Node::face_indices, blender::ed::sculpt_paint::undo::Node::face_sets, blender::bke::SpanAttributeWriter< T >::finish(), blender::Span< T >::index_range(), restore_face_sets(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by restore_face_sets(), and restore_list().
| void blender::ed::sculpt_paint::undo::restore_from_bmesh_enter_geometry | ( | const StepData & | step_data, |
| Mesh & | mesh ) |
Definition at line 827 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::geometry_bmesh_enter, restore_from_bmesh_enter_geometry(), and restore_geometry_data().
Referenced by blender::ed::sculpt_paint::dyntopo::disable(), and restore_from_bmesh_enter_geometry().
|
static |
Definition at line 1134 of file sculpt.cc.
References blender::ed::sculpt_paint::StrokeCache::alt_smooth, BKE_paint_brush_for_read(), SculptSession::cache, depsgraph, Sculpt::paint, restore_color_from_undo_step(), restore_face_set_from_undo_step(), restore_mask_from_undo_step(), restore_position_from_undo_step(), Brush::sculpt_brush_type, SCULPT_BRUSH_TYPE_DRAW_FACE_SETS, SCULPT_BRUSH_TYPE_MASK, SCULPT_BRUSH_TYPE_PAINT, and SCULPT_BRUSH_TYPE_SMEAR.
|
static |
Definition at line 779 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::applied, BKE_sculptsession_free_pbvh(), DEG_id_tag_update(), blender::ed::sculpt_paint::undo::StepData::geometry_clear_pbvh, blender::ed::sculpt_paint::undo::StepData::geometry_modified, blender::ed::sculpt_paint::undo::StepData::geometry_original, ID_RECALC_GEOMETRY, restore_geometry(), and restore_geometry_data().
Referenced by restore_geometry(), and restore_list().
|
static |
Definition at line 743 of file sculpt_undo.cc.
References BKE_mesh_clear_geometry(), BLI_assert, CD_MASK_MESH, CustomData_init_from(), CustomData_MeshMasks::emask, CustomData_MeshMasks::lmask, CustomData_MeshMasks::pmask, restore_geometry_data(), and CustomData_MeshMasks::vmask.
Referenced by restore_from_bmesh_enter_geometry(), restore_geometry(), and restore_geometry_data().
|
static |
Definition at line 528 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::Node::face_hidden, blender::ed::sculpt_paint::undo::Node::face_indices, blender::bke::SpanAttributeWriter< T >::finish(), restore_hidden_face(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by restore_hidden_face(), and restore_list().
|
static |
Definition at line 862 of file sculpt_undo.cc.
References BKE_pbvh_sync_visibility_from_verts(), BKE_sculpt_multires_active(), BKE_sculpt_update_object_for_edit(), BKE_sculptsession_free_deformMats(), BKE_sculptsession_use_pbvh_draw(), BKE_subdiv_ccg_key_top_level(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, BLI_assert_unreachable, SculptSession::bm, bmesh_restore(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_region_view3d(), SculptSession::deform_modifiers_active, DEG_id_tag_update(), depsgraph, faces, SubdivCCG::grids_num, ID_REAL_USERS, ID_RECALC_GEOMETRY, ID_RECALC_SHADING, indices_contain_true(), MULTIRES_COORDS_MODIFIED, MULTIRES_HIDDEN_MODIFIED, multires_mark_as_modified(), blender::bke::pbvh::Tree::nodes(), blender::ed::sculpt_paint::undo::StepData::nodes, blender::ed::sculpt_paint::undo::StepData::object_name, blender::ed::sculpt_paint::undo::StepData::pivot_pos, SculptSession::pivot_pos, blender::ed::sculpt_paint::undo::StepData::pivot_rot, SculptSession::pivot_rot, refine_subdiv(), restore_active_shape_key(), restore_color(), restore_face_sets(), restore_geometry(), restore_hidden_face(), restore_list(), restore_mask_grids(), restore_mask_mesh(), restore_position_grids(), restore_position_mesh(), restore_vert_visibility_grids(), restore_vert_visibility_mesh(), Mesh::runtime, SculptSession::shapekey_active, SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::tag_attribute_changed(), blender::bke::pbvh::Tree::tag_face_sets_changed(), blender::bke::pbvh::Tree::tag_masks_changed(), blender::bke::pbvh::Tree::tag_positions_changed(), blender::bke::pbvh::Tree::tag_visibility_changed(), topology_matches(), blender::ed::sculpt_paint::undo::StepData::type, and use_multires_undo().
Referenced by restore_list(), step_decode_redo_impl(), and step_decode_undo_impl().
|
static |
Definition at line 854 of file sculpt.cc.
References blender::bke::pbvh::all_leaf_nodes(), BKE_pbvh_bmesh_node_unique_verts(), BKE_subdiv_ccg_key_top_level(), SculptSession::bm, BM_ELEM_CD_SET_FLOAT, SculptSession::bm_log, BM_log_find_original_vert_mask(), blender::bke::pbvh::BMesh, CD_PROP_FLOAT, CustomData_get_offset_named(), blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::from_bools(), CCGKey::grid_area, blender::bke::ccg::grid_range(), blender::bke::pbvh::Grids, blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), blender::bke::pbvh::Mesh, blender::index_mask::IndexMask::min_array_size(), blender::bke::pbvh::node_update_mask_bmesh(), blender::bke::pbvh::node_update_mask_grids(), blender::bke::pbvh::node_update_mask_mesh(), blender::bke::pbvh::Tree::nodes(), blender::ed::sculpt_paint::orig_mask_data_lookup_grids(), blender::ed::sculpt_paint::orig_mask_data_lookup_mesh(), blender::bke::object::pbvh_get(), blender::bke::Point, blender::ed::sculpt_paint::scatter_data_mesh(), SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::tag_masks_changed(), blender::bke::pbvh::Tree::type(), BMesh::vdata, and verts.
Referenced by restore_from_undo_step().
|
static |
Definition at line 591 of file sculpt_undo.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), BKE_subdiv_ccg_key_top_level(), blender::MutableSpan< T >::fill_indices(), blender::ed::sculpt_paint::undo::Node::grids, blender::Span< T >::index_range(), blender::ed::sculpt_paint::undo::Node::mask, SubdivCCG::masks, restore_mask_grids(), blender::MutableSpan< T >::slice(), and SculptSession::subdiv_ccg.
Referenced by restore_list(), and restore_mask_grids().
|
static |
Definition at line 570 of file sculpt_undo.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), BKE_object_get_original_mesh(), blender::ed::sculpt_paint::undo::Node::mask, restore_mask_mesh(), blender::Span< T >::take_front(), blender::ed::sculpt_paint::undo::Node::unique_verts_num, and blender::ed::sculpt_paint::undo::Node::vert_indices.
Referenced by restore_list(), and restore_mask_mesh().
| void blender::ed::sculpt_paint::undo::restore_position_from_undo_step | ( | const Depsgraph & | depsgraph, |
| Object & | object ) |
Definition at line 1014 of file sculpt.cc.
References blender::bke::pbvh::all_leaf_nodes(), blender::ed::sculpt_paint::apply_crazyspace_to_translations(), blender::ed::sculpt_paint::apply_translations(), BKE_keyblock_from_object(), BKE_pbvh_bmesh_node_unique_verts(), BKE_subdiv_ccg_key_top_level(), SculptSession::bm_log, BM_log_find_original_vert_co(), blender::bke::pbvh::BMesh, copy_v3_v3(), blender::MutableSpan< T >::data(), SculptSession::deform_imats, depsgraph, ELEM, blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::from_predicate(), get_bmesh_log_entry(), CCGKey::grid_area, blender::bke::ccg::grid_range(), blender::bke::pbvh::Grids, blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), blender::threading::isolate_task(), blender::threading::EnumerableThreadSpecific< T >::local(), blender::bke::pbvh::Mesh, blender::bke::pbvh::Tree::nodes(), blender::ed::sculpt_paint::orig_position_data_lookup_grids(), blender::ed::sculpt_paint::orig_position_data_lookup_mesh(), blender::bke::object::pbvh_get(), blender::ed::sculpt_paint::OrigPositionData::positions, blender::ed::sculpt_paint::scatter_data_mesh(), SculptSession::subdiv_ccg, blender::bke::pbvh::Tree::tag_positions_changed(), blender::ed::sculpt_paint::LocalData::translations, blender::ed::sculpt_paint::translations_from_new_positions(), blender::bke::pbvh::Tree::type(), blender::bke::pbvh::update_normals(), blender::ed::sculpt_paint::update_shape_keys(), blender::bke::pbvh::vert_positions_eval_for_write(), and verts.
Referenced by restore_from_undo_step(), blender::ed::sculpt_paint::filter::sculpt_mesh_filter_cancel(), and blender::ed::sculpt_paint::sculpt_transform_all_vertices().
|
static |
Definition at line 464 of file sculpt_undo.cc.
References blender::MutableSpan< T >::fill_indices(), blender::ed::sculpt_paint::undo::Node::grids, blender::Span< T >::index_range(), blender::ed::sculpt_paint::undo::Node::position, restore_position_grids(), and blender::MutableSpan< T >::slice().
Referenced by restore_list(), and restore_position_grids().
|
static |
Definition at line 358 of file sculpt_undo.cc.
References BKE_keyblock_convert_to_vertcos(), SculptSession::deform_modifiers_active, depsgraph, float, MEM_freeN(), blender::threading::parallel_for(), SculptSession::shapekey_active, KeyBlock::totelem, update_shapekeys(), and blender::bke::pbvh::vert_positions_eval_for_write().
Referenced by restore_list().
|
static |
Definition at line 502 of file sculpt_undo.cc.
References b, BKE_subdiv_ccg_grid_hidden_ensure(), BKE_subdiv_ccg_grid_hidden_free(), blender::MutableSpan< T >::fill_indices(), blender::ed::sculpt_paint::undo::Node::grid_hidden, blender::ed::sculpt_paint::undo::Node::grids, blender::Span< T >::index_range(), and restore_vert_visibility_grids().
Referenced by restore_list(), and restore_vert_visibility_grids().
|
static |
Definition at line 483 of file sculpt_undo.cc.
References blender::bke::SpanAttributeWriter< T >::finish(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), restore_vert_visibility_mesh(), blender::bke::SpanAttributeWriter< T >::span, blender::IndexRange::take_front(), blender::ed::sculpt_paint::undo::Node::unique_verts_num, blender::ed::sculpt_paint::undo::Node::vert_hidden, and blender::ed::sculpt_paint::undo::Node::vert_indices.
Referenced by restore_list(), and restore_vert_visibility_mesh().
|
static |
Definition at line 1694 of file sculpt_undo.cc.
References ATTR_DOMAIN_AS_MASK, ATTR_DOMAIN_MASK_COLOR, BKE_object_get_original_mesh(), CD_MASK_COLOR_ALL, CD_TYPE_AS_MASK, blender::ed::sculpt_paint::undo::SculptAttrRef::domain, blender::bke::AttributeAccessor::lookup_meta_data(), blender::ed::sculpt_paint::undo::SculptAttrRef::name, NO_ACTIVE_LAYER, save_active_attribute(), STRNCPY, blender::ed::sculpt_paint::undo::SculptAttrRef::type, and blender::ed::sculpt_paint::undo::SculptAttrRef::was_set.
Referenced by push_begin_ex(), save_active_attribute(), and set_active_layer().
|
static |
Definition at line 1856 of file sculpt_undo.cc.
References ATTR_DOMAIN_MASK_ALL, BKE_attribute_find(), BKE_attribute_search_for_write(), BKE_id_attributes_active_color_set(), BKE_object_get_original_mesh(), CD_MASK_PROP_ALL, CTX_data_active_object(), DEG_id_tag_update(), blender::ed::sculpt_paint::undo::SculptAttrRef::domain, ED_geometry_attribute_convert(), AttributeOwner::from_id(), Object::id, ID_RECALC_GEOMETRY, blender::ed::sculpt_paint::undo::SculptAttrRef::name, save_active_attribute(), set_active_layer(), and blender::ed::sculpt_paint::undo::SculptAttrRef::type.
Referenced by set_active_layer(), step_decode_redo(), and step_decode_undo().
|
static |
Definition at line 1999 of file sculpt_undo.cc.
References BKE_scene_graph_evaluated_ensure(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), CTX_data_view_layer(), Object::data, depsgraph, Mesh::flag, Main::is_memfile_undo_flush_needed, Object::mode, SculptSession::needs_flush_to_id, OB_MESH, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT, blender::ed::sculpt_paint::object_sculpt_mode_enter(), Object::sculpt, step_decode(), step_decode_redo(), step_decode_undo(), STEP_INVALID, STEP_REDO, STEP_UNDO, and Object::type.
Referenced by register_type(), and step_decode().
|
static |
Definition at line 1978 of file sculpt_undo.cc.
References depsgraph, UndoStep::is_applied, UndoStep::next, UndoStep::prev, set_active_layer(), blender::ed::sculpt_paint::undo::SculptUndoStep::step, step_decode_redo(), step_decode_redo_impl(), and UndoStep::type.
Referenced by step_decode(), and step_decode_redo().
|
static |
Definition at line 1938 of file sculpt_undo.cc.
References BLI_assert, blender::ed::sculpt_paint::undo::SculptUndoStep::data, depsgraph, UndoStep::is_applied, restore_list(), blender::ed::sculpt_paint::undo::SculptUndoStep::step, and step_decode_redo_impl().
Referenced by step_decode_redo(), and step_decode_redo_impl().
|
static |
Definition at line 1946 of file sculpt_undo.cc.
References BKE_UNDOSYS_TYPE_SCULPT, BLI_assert, depsgraph, UndoStep::is_applied, UndoStep::next, UndoStep::prev, set_active_layer(), blender::ed::sculpt_paint::undo::SculptUndoStep::step, step_decode_undo(), step_decode_undo_impl(), and UndoStep::type.
Referenced by step_decode(), and step_decode_undo().
|
static |
Definition at line 1930 of file sculpt_undo.cc.
References BLI_assert, blender::ed::sculpt_paint::undo::SculptUndoStep::data, depsgraph, UndoStep::is_applied, restore_list(), blender::ed::sculpt_paint::undo::SculptUndoStep::step, and step_decode_undo_impl().
Referenced by step_decode_undo(), and step_decode_undo_impl().
|
static |
Definition at line 1910 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::SculptUndoStep::data, UndoStep::data_size, UndoStep::is_applied, Main::is_memfile_undo_flush_needed, blender::ed::sculpt_paint::undo::StepData::nodes, blender::ed::sculpt_paint::undo::SculptUndoStep::step, step_encode(), blender::ed::sculpt_paint::undo::StepData::type, blender::ed::sculpt_paint::undo::StepData::undo_size, and UndoStep::use_memfile_step.
Referenced by register_type(), and step_encode().
|
static |
Definition at line 1904 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::SculptUndoStep::data, and step_encode_init().
Referenced by register_type(), and step_encode_init().
|
static |
Definition at line 2052 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::SculptUndoStep::data, free_step_data(), and step_free().
Referenced by register_type(), and step_free().
|
static |
Definition at line 1290 of file sculpt_undo.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::ed::sculpt_paint::undo::Node::col, blender::ed::sculpt_paint::undo::Node::corner_indices, blender::bke::GAttributeReader::domain, blender::ed::sculpt_paint::undo::Node::loop_col, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), store_color(), and verts.
Referenced by fill_node_data_mesh(), and store_color().
|
static |
Definition at line 1340 of file sculpt_undo.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::ed::sculpt_paint::undo::Node::face_indices, blender::ed::sculpt_paint::undo::Node::face_sets, blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::ed::sculpt_paint::gather_data_mesh(), blender::Span< T >::is_empty(), and store_face_sets().
Referenced by fill_node_data_grids(), fill_node_data_mesh(), and store_face_sets().
|
static |
Definition at line 1253 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::Node::face_hidden, blender::ed::sculpt_paint::undo::Node::face_indices, blender::Span< T >::is_empty(), and store_face_visibility().
Referenced by fill_node_data_grids(), fill_node_data_mesh(), and store_face_visibility().
|
static |
Definition at line 717 of file sculpt_undo.cc.
References BLI_assert, CD_MASK_MESH, CustomData_init_from(), CustomData_MeshMasks::emask, CustomData_MeshMasks::lmask, CustomData_MeshMasks::pmask, store_geometry_data(), and CustomData_MeshMasks::vmask.
Referenced by bmesh_push(), geometry_push(), and store_geometry_data().
|
static |
Definition at line 1279 of file sculpt_undo.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::undo::Node::grids, blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::ed::sculpt_paint::undo::Node::mask, SubdivCCG::masks, and store_mask_grids().
Referenced by fill_node_data_grids(), and store_mask_grids().
|
static |
Definition at line 1267 of file sculpt_undo.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::undo::Node::mask, store_mask_mesh(), and blender::ed::sculpt_paint::undo::Node::vert_indices.
Referenced by fill_node_data_mesh(), and store_mask_mesh().
|
static |
Definition at line 1230 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::undo::Node::grids, blender::ed::sculpt_paint::undo::Node::normal, SubdivCCG::normals, blender::ed::sculpt_paint::undo::Node::position, SubdivCCG::positions, and store_positions_grids().
Referenced by fill_node_data_grids(), and store_positions_grids().
|
static |
Definition at line 1208 of file sculpt_undo.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), KeyBlock::data, SculptSession::deform_modifiers_active, depsgraph, blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::undo::Node::normal, blender::ed::sculpt_paint::undo::Node::orig_position, blender::ed::sculpt_paint::undo::Node::position, SculptSession::shapekey_active, store_positions_mesh(), and blender::ed::sculpt_paint::undo::Node::vert_indices.
Referenced by fill_node_data_mesh(), and store_positions_mesh().
|
static |
Definition at line 1192 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::Node::grid_hidden, SubdivCCG::grid_hidden, blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::group_size(), blender::Span< T >::index_range(), blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::is_empty(), blender::Span< T >::size(), and store_vert_visibility_grids().
Referenced by fill_node_data_grids(), and store_vert_visibility_grids().
|
static |
Definition at line 1238 of file sculpt_undo.cc.
References blender::Span< T >::is_empty(), node, store_vert_visibility_mesh(), blender::ed::sculpt_paint::undo::Node::vert_hidden, and verts.
Referenced by fill_node_data_mesh(), and store_vert_visibility_mesh().
|
static |
Definition at line 283 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::grid_size, SubdivCCG::grid_size, SubdivCCG::grids_num, blender::ed::sculpt_paint::undo::StepData::mesh_grids_num, blender::ed::sculpt_paint::undo::StepData::mesh_verts_num, SculptSession::subdiv_ccg, use_multires_undo(), and Mesh::verts_num.
Referenced by restore_list().
|
static |
Definition at line 327 of file sculpt_undo.cc.
References BKE_keyblock_convert_to_vertcos(), BKE_keyblock_get_dependent_keys(), BKE_keyblock_update_from_offset(), BKE_keyblock_update_from_vertcos(), blender::Span< T >::data(), Object::data, float, LISTBASE_FOREACH_INDEX, MEM_freeN(), Object::shapenr, and sub_v3_v3v3().
Referenced by restore_position_mesh().
|
static |
Definition at line 2114 of file sculpt_undo.cc.
References SculptSession::active, BKE_paintmode_get_active_from_context(), CTX_data_active_object(), SculptSession::multires, Sculpt, and use_multires_mesh().
Referenced by push_multires_mesh_begin(), push_multires_mesh_end(), and use_multires_mesh().
|
static |
Definition at line 278 of file sculpt_undo.cc.
References blender::ed::sculpt_paint::undo::StepData::mesh_grids_num, and SculptSession::subdiv_ccg.
Referenced by restore_list(), and topology_matches().