|
Blender V5.0
|
Public Member Functions | |
| bool | needs_undo () const |
| void | tag_needs_undo () |
| void | tag_needs_redo () |
Public Attributes | |
| Type | type = Type::None |
| std::string | object_name |
| std::string | active_shape_key_name |
| struct { | |
| int verts_num | |
| int corners_num | |
| } | mesh |
| struct { | |
| int grids_num | |
| int grid_size | |
| } | grids |
| struct { | |
| BMLogEntry * bm_entry | |
| NodeGeometry geometry_enter | |
| } | bmesh |
| float3 | pivot_pos |
| float4 | pivot_rot |
| NodeGeometry | geometry_original |
| NodeGeometry | geometry_modified |
| Mutex | nodes_mutex |
| Map< const bke::pbvh::Node *, std::unique_ptr< Node > > | undo_nodes_by_pbvh_node |
| Vector< std::unique_ptr< Node > > | nodes |
| std::unique_ptr< PositionUndoStorage > | position_step_storage |
| size_t | undo_size |
Definition at line 195 of file sculpt_undo.cc.
|
inline |
Whether processing code needs to handle the current data as an undo step.
Definition at line 273 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::bmesh_handle_dyntopo_begin(), blender::ed::sculpt_paint::undo::bmesh_handle_dyntopo_end(), blender::ed::sculpt_paint::undo::bmesh_restore_generic(), and blender::ed::sculpt_paint::undo::restore_geometry().
|
inline |
|
inline |
| std::string blender::ed::sculpt_paint::undo::StepData::active_shape_key_name |
Name of the object's active shape key when the undo step was created.
Definition at line 210 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::restore_active_shape_key(), and blender::ed::sculpt_paint::undo::save_common_data().
| BMLogEntry* blender::ed::sculpt_paint::undo::StepData::bm_entry |
The current log entry for the given BMLog step. Represents the most recent step at the time that this entry is added.
There are two usages of this pointer:
Definition at line 239 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::bmesh_enable(), blender::ed::sculpt_paint::undo::bmesh_push(), blender::ed::sculpt_paint::undo::free_step_data(), and blender::ed::sculpt_paint::undo::has_bmesh_log_entry().
| struct { ... } blender::ed::sculpt_paint::undo::StepData::bmesh |
| int blender::ed::sculpt_paint::undo::StepData::corners_num |
Definition at line 218 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::push_begin_ex().
| NodeGeometry blender::ed::sculpt_paint::undo::StepData::geometry_enter |
Definition at line 242 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::bmesh_push(), blender::ed::sculpt_paint::undo::free_step_data(), and blender::ed::sculpt_paint::undo::restore_from_bmesh_enter_geometry().
| NodeGeometry blender::ed::sculpt_paint::undo::StepData::geometry_modified |
| NodeGeometry blender::ed::sculpt_paint::undo::StepData::geometry_original |
| int blender::ed::sculpt_paint::undo::StepData::grid_size |
A copy of SubdivCCG::grid_size.
Definition at line 225 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::push_begin_ex(), and blender::ed::sculpt_paint::undo::topology_matches().
| struct { ... } blender::ed::sculpt_paint::undo::StepData::grids |
| int blender::ed::sculpt_paint::undo::StepData::grids_num |
The number of grids in the entire mesh. A copy of SubdivCCG::grids_num.
Definition at line 223 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::PositionUndoStorage::PositionUndoStorage(), blender::ed::sculpt_paint::undo::push_begin_ex(), blender::ed::sculpt_paint::undo::topology_matches(), and blender::ed::sculpt_paint::undo::use_multires_undo().
| struct { ... } blender::ed::sculpt_paint::undo::StepData::mesh |
Storage of per-node undo data after creation of the undo step is finished.
Definition at line 268 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::bmesh_push(), blender::ed::sculpt_paint::undo::push_end_ex(), blender::ed::sculpt_paint::undo::restore_color(), and blender::ed::sculpt_paint::undo::restore_list().
| Mutex blender::ed::sculpt_paint::undo::StepData::nodes_mutex |
Definition at line 254 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::bmesh_push(), and blender::ed::sculpt_paint::undo::ensure_node().
| std::string blender::ed::sculpt_paint::undo::StepData::object_name |
Name of the object associated with this undo data (object.id.name).
Definition at line 207 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::restore_list(), and blender::ed::sculpt_paint::undo::save_common_data().
| float3 blender::ed::sculpt_paint::undo::StepData::pivot_pos |
Definition at line 245 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::restore_list(), and blender::ed::sculpt_paint::undo::save_common_data().
| float4 blender::ed::sculpt_paint::undo::StepData::pivot_rot |
Definition at line 246 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::restore_list(), and blender::ed::sculpt_paint::undo::save_common_data().
| std::unique_ptr<PositionUndoStorage> blender::ed::sculpt_paint::undo::StepData::position_step_storage |
Definition at line 269 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::push_end_ex(), blender::ed::sculpt_paint::undo::restore_list(), and blender::ed::sculpt_paint::undo::step_memory_size_get().
| Type blender::ed::sculpt_paint::undo::StepData::type = Type::None |
The type of data stored in this undo step. For historical reasons this is often set when the first undo node is pushed.
Definition at line 204 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::bmesh_push(), blender::ed::sculpt_paint::undo::bmesh_restore(), blender::ed::sculpt_paint::undo::bmesh_restore_generic(), blender::ed::sculpt_paint::undo::geometry_push(), blender::ed::sculpt_paint::undo::get_node(), blender::ed::sculpt_paint::undo::push_end_ex(), blender::ed::sculpt_paint::undo::push_node(), blender::ed::sculpt_paint::undo::push_nodes(), blender::ed::sculpt_paint::undo::restore_list(), and blender::ed::sculpt_paint::undo::step_encode().
| Map<const bke::pbvh::Node *, std::unique_ptr<Node> > blender::ed::sculpt_paint::undo::StepData::undo_nodes_by_pbvh_node |
#undo::Node is stored per #pbvh::Node to reduce data storage needed for changes only impacting small portions of the mesh. During undo step creation and brush evaluation we often need to look up the undo state for a specific node. That lookup must be protected by a lock since nodes are pushed from multiple threads. This map speeds up undo node access to reduce the amount of time we wait for the lock.
This is only accessible when building the undo step, in between push_begin and push_end.
Definition at line 265 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::ensure_node(), blender::ed::sculpt_paint::undo::get_node(), and blender::ed::sculpt_paint::undo::push_end_ex().
| size_t blender::ed::sculpt_paint::undo::StepData::undo_size |
Definition at line 270 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::geometry_end(), blender::ed::sculpt_paint::undo::push_end_ex(), blender::ed::sculpt_paint::undo::step_encode(), and blender::ed::sculpt_paint::undo::step_memory_size_get().
| int blender::ed::sculpt_paint::undo::StepData::verts_num |
Definition at line 216 of file sculpt_undo.cc.
Referenced by blender::ed::sculpt_paint::undo::push_begin_ex(), and blender::ed::sculpt_paint::undo::topology_matches().