Blender  V3.3
Classes | Macros | Typedefs | Functions
sculpt_undo.c File Reference
#include <stddef.h>
#include "MEM_guardedalloc.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_string.h"
#include "BLI_task.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "BKE_attribute.h"
#include "BKE_ccg.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_global.h"
#include "BKE_key.h"
#include "BKE_main.h"
#include "BKE_mesh.h"
#include "BKE_mesh_mapping.h"
#include "BKE_mesh_runtime.h"
#include "BKE_multires.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_scene.h"
#include "BKE_subdiv_ccg.h"
#include "BKE_subsurf.h"
#include "BKE_undo_system.h"
#include "BKE_subdiv_eval.h"
#include "DEG_depsgraph.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_geometry.h"
#include "ED_object.h"
#include "ED_sculpt.h"
#include "ED_undo.h"
#include "bmesh.h"
#include "sculpt_intern.h"

Go to the source code of this file.

Classes

struct  UndoSculpt
 
struct  SculptAttrRef
 
struct  SculptUndoStep
 
struct  PartialUpdateData
 

Macros

#define NO_ACTIVE_LAYER   ATTR_DOMAIN_AUTO
 

Typedefs

typedef struct UndoSculpt UndoSculpt
 
typedef struct SculptAttrRef SculptAttrRef
 
typedef struct SculptUndoStep SculptUndoStep
 

Functions

static bool sculpt_attribute_ref_equals (SculptAttrRef *a, SculptAttrRef *b)
 
static void sculpt_save_active_attribute (Object *ob, SculptAttrRef *attr)
 
static void update_cb (PBVHNode *node, void *rebuild)
 
static void update_cb_partial (PBVHNode *node, void *userdata)
 
static bool test_swap_v3_v3 (float a[3], float b[3])
 
static bool sculpt_undo_restore_deformed (const SculptSession *ss, SculptUndoNode *unode, int uindex, int oindex, float coord[3])
 
static bool sculpt_undo_restore_coords (bContext *C, Depsgraph *depsgraph, SculptUndoNode *unode)
 
static bool sculpt_undo_restore_hidden (bContext *C, SculptUndoNode *unode, bool *modified_vertices)
 
static bool sculpt_undo_restore_color (bContext *C, SculptUndoNode *unode, bool *modified_vertices)
 
static bool sculpt_undo_restore_mask (bContext *C, SculptUndoNode *unode, bool *modified_vertices)
 
static bool sculpt_undo_restore_face_sets (bContext *C, SculptUndoNode *unode)
 
static void sculpt_undo_bmesh_restore_generic_task_cb (void *__restrict userdata, const int n, const TaskParallelTLS *__restrict UNUSED(tls))
 
static void sculpt_undo_bmesh_restore_generic (SculptUndoNode *unode, Object *ob, SculptSession *ss)
 
static void sculpt_undo_bmesh_enable (Object *ob, SculptUndoNode *unode)
 
static void sculpt_undo_bmesh_restore_begin (bContext *C, SculptUndoNode *unode, Object *ob, SculptSession *ss)
 
static void sculpt_undo_bmesh_restore_end (bContext *C, SculptUndoNode *unode, Object *ob, SculptSession *ss)
 
static void sculpt_undo_geometry_store_data (SculptUndoNodeGeometry *geometry, Object *object)
 
static void sculpt_undo_geometry_restore_data (SculptUndoNodeGeometry *geometry, Object *object)
 
static void sculpt_undo_geometry_free_data (SculptUndoNodeGeometry *geometry)
 
static void sculpt_undo_geometry_restore (SculptUndoNode *unode, Object *object)
 
static int sculpt_undo_bmesh_restore (bContext *C, SculptUndoNode *unode, Object *ob, SculptSession *ss)
 
static void sculpt_undo_refine_subdiv (Depsgraph *depsgraph, SculptSession *ss, Object *object, struct Subdiv *subdiv)
 
static void sculpt_undo_restore_list (bContext *C, Depsgraph *depsgraph, ListBase *lb)
 
static void sculpt_undo_free_list (ListBase *lb)
 
SculptUndoNodeSCULPT_undo_get_node (PBVHNode *node, SculptUndoType type)
 
SculptUndoNodeSCULPT_undo_get_first_node ()
 
static size_t sculpt_undo_alloc_and_store_hidden (PBVH *pbvh, SculptUndoNode *unode)
 
static SculptUndoNodesculpt_undo_alloc_node_type (Object *object, SculptUndoType type)
 
static SculptUndoNodesculpt_undo_find_or_alloc_node_type (Object *object, SculptUndoType type)
 
static SculptUndoNodesculpt_undo_alloc_node (Object *ob, PBVHNode *node, SculptUndoType type)
 
static void sculpt_undo_store_coords (Object *ob, SculptUndoNode *unode)
 
static void sculpt_undo_store_hidden (Object *ob, SculptUndoNode *unode)
 
static void sculpt_undo_store_mask (Object *ob, SculptUndoNode *unode)
 
static void sculpt_undo_store_color (Object *ob, SculptUndoNode *unode)
 
static SculptUndoNodeGeometrysculpt_undo_geometry_get (SculptUndoNode *unode)
 
static SculptUndoNodesculpt_undo_geometry_push (Object *object, SculptUndoType type)
 
static SculptUndoNodesculpt_undo_face_sets_push (Object *ob, SculptUndoType type)
 
static SculptUndoNodesculpt_undo_bmesh_push (Object *ob, PBVHNode *node, SculptUndoType type)
 
SculptUndoNodeSCULPT_undo_push_node (Object *ob, PBVHNode *node, SculptUndoType type)
 
void SCULPT_undo_push_begin (Object *ob, const char *name)
 
void SCULPT_undo_push_end (Object *ob)
 
void SCULPT_undo_push_end_ex (struct Object *ob, const bool use_nested_undo)
 
Utilities
static UndoSculptsculpt_undo_get_nodes (void)
 
static UndoSculptsculpt_undosys_step_get_nodes (UndoStep *us_p)
 
Implements ED Undo System
static void sculpt_undo_set_active_layer (struct bContext *C, SculptAttrRef *attr)
 
static void sculpt_undosys_step_encode_init (struct bContext *UNUSED(C), UndoStep *us_p)
 
static bool sculpt_undosys_step_encode (struct bContext *UNUSED(C), struct Main *bmain, UndoStep *us_p)
 
static void sculpt_undosys_step_decode_undo_impl (struct bContext *C, Depsgraph *depsgraph, SculptUndoStep *us)
 
static void sculpt_undosys_step_decode_redo_impl (struct bContext *C, Depsgraph *depsgraph, SculptUndoStep *us)
 
static void sculpt_undosys_step_decode_undo (struct bContext *C, Depsgraph *depsgraph, SculptUndoStep *us, const bool is_final)
 
static void sculpt_undosys_step_decode_redo (struct bContext *C, Depsgraph *depsgraph, SculptUndoStep *us)
 
static void sculpt_undosys_step_decode (struct bContext *C, struct Main *bmain, UndoStep *us_p, const eUndoStepDir dir, bool is_final)
 
static void sculpt_undosys_step_free (UndoStep *us_p)
 
void ED_sculpt_undo_geometry_begin (struct Object *ob, const char *name)
 
void ED_sculpt_undo_geometry_end (struct Object *ob)
 
void ED_sculpt_undosys_type (UndoType *ut)
 
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.

static bool sculpt_undo_use_multires_mesh (bContext *C)
 
static void sculpt_undo_push_all_grids (Object *object)
 
void ED_sculpt_undo_push_multires_mesh_begin (bContext *C, const char *str)
 
void ED_sculpt_undo_push_multires_mesh_end (bContext *C, const char *str)
 

Detailed Description

Implements the Sculpt Mode tools.

Definition in file sculpt_undo.c.

Macro Definition Documentation

◆ NO_ACTIVE_LAYER

#define NO_ACTIVE_LAYER   ATTR_DOMAIN_AUTO

Definition at line 100 of file sculpt_undo.c.

Typedef Documentation

◆ SculptAttrRef

typedef struct SculptAttrRef SculptAttrRef

◆ SculptUndoStep

◆ UndoSculpt

typedef struct UndoSculpt UndoSculpt

Function Documentation

◆ ED_sculpt_undo_geometry_begin()

void ED_sculpt_undo_geometry_begin ( struct Object ob,
const char *  name 
)

◆ ED_sculpt_undo_geometry_end()

void ED_sculpt_undo_geometry_end ( struct Object ob)

◆ ED_sculpt_undo_push_multires_mesh_begin()

void ED_sculpt_undo_push_multires_mesh_begin ( bContext C,
const char *  str 
)

◆ ED_sculpt_undo_push_multires_mesh_end()

void ED_sculpt_undo_push_multires_mesh_end ( bContext C,
const char *  str 
)

◆ ED_sculpt_undosys_type()

void ED_sculpt_undosys_type ( struct UndoType ut)

◆ sculpt_attribute_ref_equals()

static bool sculpt_attribute_ref_equals ( SculptAttrRef a,
SculptAttrRef b 
)
static

Definition at line 1522 of file sculpt_undo.c.

References Freestyle::a, usdtokens::b(), and STREQ.

Referenced by sculpt_undo_set_active_layer().

◆ sculpt_save_active_attribute()

static void sculpt_save_active_attribute ( Object ob,
SculptAttrRef attr 
)
static

◆ sculpt_undo_alloc_and_store_hidden()

static size_t sculpt_undo_alloc_and_store_hidden ( PBVH pbvh,
SculptUndoNode unode 
)
static

◆ sculpt_undo_alloc_node()

static SculptUndoNode* sculpt_undo_alloc_node ( Object ob,
PBVHNode node,
SculptUndoType  type 
)
static

◆ sculpt_undo_alloc_node_type()

static SculptUndoNode* sculpt_undo_alloc_node_type ( Object object,
SculptUndoType  type 
)
static

◆ sculpt_undo_bmesh_enable()

static void sculpt_undo_bmesh_enable ( Object ob,
SculptUndoNode unode 
)
static

◆ sculpt_undo_bmesh_push()

static SculptUndoNode* sculpt_undo_bmesh_push ( Object ob,
PBVHNode node,
SculptUndoType  type 
)
static

◆ sculpt_undo_bmesh_restore()

static int sculpt_undo_bmesh_restore ( bContext C,
SculptUndoNode unode,
Object ob,
SculptSession ss 
)
static

◆ sculpt_undo_bmesh_restore_begin()

static void sculpt_undo_bmesh_restore_begin ( bContext C,
SculptUndoNode unode,
Object ob,
SculptSession ss 
)
static

◆ sculpt_undo_bmesh_restore_end()

static void sculpt_undo_bmesh_restore_end ( bContext C,
SculptUndoNode unode,
Object ob,
SculptSession ss 
)
static

◆ sculpt_undo_bmesh_restore_generic()

static void sculpt_undo_bmesh_restore_generic ( SculptUndoNode unode,
Object ob,
SculptSession ss 
)
static

◆ sculpt_undo_bmesh_restore_generic_task_cb()

static void sculpt_undo_bmesh_restore_generic_task_cb ( void *__restrict  userdata,
const int  n,
const TaskParallelTLS *__restrict   UNUSEDtls 
)
static

Definition at line 462 of file sculpt_undo.c.

References BKE_pbvh_node_mark_redraw().

Referenced by sculpt_undo_bmesh_restore_generic().

◆ sculpt_undo_face_sets_push()

static SculptUndoNode* sculpt_undo_face_sets_push ( Object ob,
SculptUndoType  type 
)
static

◆ sculpt_undo_find_or_alloc_node_type()

static SculptUndoNode* sculpt_undo_find_or_alloc_node_type ( Object object,
SculptUndoType  type 
)
static

◆ sculpt_undo_free_list()

static void sculpt_undo_free_list ( ListBase lb)
static

◆ sculpt_undo_geometry_free_data()

static void sculpt_undo_geometry_free_data ( SculptUndoNodeGeometry geometry)
static

◆ sculpt_undo_geometry_get()

static SculptUndoNodeGeometry* sculpt_undo_geometry_get ( SculptUndoNode unode)
static

◆ sculpt_undo_geometry_push()

static SculptUndoNode* sculpt_undo_geometry_push ( Object object,
SculptUndoType  type 
)
static

◆ sculpt_undo_geometry_restore()

static void sculpt_undo_geometry_restore ( SculptUndoNode unode,
Object object 
)
static

◆ sculpt_undo_geometry_restore_data()

static void sculpt_undo_geometry_restore_data ( SculptUndoNodeGeometry geometry,
Object object 
)
static

◆ sculpt_undo_geometry_store_data()

static void sculpt_undo_geometry_store_data ( SculptUndoNodeGeometry geometry,
Object object 
)
static

◆ SCULPT_undo_get_first_node()

SculptUndoNode* SCULPT_undo_get_first_node ( void  )

Definition at line 1037 of file sculpt_undo.c.

References ListBase::first, UndoSculpt::nodes, NULL, and sculpt_undo_get_nodes().

Referenced by sculpt_restore_mesh().

◆ SCULPT_undo_get_node()

SculptUndoNode* SCULPT_undo_get_node ( PBVHNode node,
SculptUndoType  type 
)

◆ sculpt_undo_get_nodes()

static UndoSculpt * sculpt_undo_get_nodes ( void  )
static

◆ sculpt_undo_push_all_grids()

static void sculpt_undo_push_all_grids ( Object object)
static

◆ SCULPT_undo_push_begin()

void SCULPT_undo_push_begin ( struct Object ob,
const char *  name 
)

◆ SCULPT_undo_push_end()

void SCULPT_undo_push_end ( Object ob)

◆ SCULPT_undo_push_end_ex()

void SCULPT_undo_push_end_ex ( struct Object ob,
const bool  use_nested_undo 
)

◆ SCULPT_undo_push_node()

SculptUndoNode* SCULPT_undo_push_node ( Object ob,
PBVHNode node,
SculptUndoType  type 
)

Definition at line 1419 of file sculpt_undo.c.

References BKE_object_get_original_mesh(), BKE_pbvh_node_get_grids(), BKE_pbvh_node_get_loops(), BKE_pbvh_node_get_verts(), BKE_pbvh_node_num_loops(), BKE_pbvh_node_num_verts(), BLI_assert_msg, BLI_strncpy(), BLI_thread_lock(), BLI_thread_unlock(), SculptSession::bm, copy_v3_v3(), ELEM, SculptUndoNode::grids, SculptUndoNode::index, LOCK_CUSTOM1, SculptUndoNode::loop_index, SculptUndoNode::maxloop, KeyBlock::name, SculptSession::needs_flush_to_id, node, SculptUndoNode::node, NULL, SculptSession::pbvh, SculptSession::pivot_pos, SculptUndoNode::pivot_pos, SculptSession::pivot_rot, SculptUndoNode::pivot_rot, Object::sculpt, sculpt_undo_alloc_node(), sculpt_undo_bmesh_push(), SCULPT_UNDO_COLOR, SCULPT_UNDO_COORDS, SCULPT_UNDO_DYNTOPO_BEGIN, SCULPT_UNDO_DYNTOPO_END, SCULPT_UNDO_DYNTOPO_SYMMETRIZE, SCULPT_UNDO_FACE_SETS, sculpt_undo_face_sets_push(), SCULPT_UNDO_GEOMETRY, sculpt_undo_geometry_push(), SCULPT_undo_get_node(), SCULPT_UNDO_HIDDEN, SCULPT_UNDO_MASK, sculpt_undo_store_color(), sculpt_undo_store_coords(), sculpt_undo_store_hidden(), sculpt_undo_store_mask(), SculptSession::shapekey_active, SculptUndoNode::shapeName, Mesh::totloop, and type.

Referenced by calc_area_normal_and_center_task_cb(), do_brush_action(), do_brush_action_task_cb(), do_mask_by_color_contiguous_update_nodes_cb(), do_mask_by_color_task_cb(), ED_object_sculptmode_enter_ex(), ED_sculpt_undo_geometry_begin(), ED_sculpt_undo_geometry_end(), ED_sculpt_undo_push_multires_mesh_begin(), ED_sculpt_undo_push_multires_mesh_end(), filter_cache_init_task_cb(), mask_flood_fill_task_cb(), mask_gesture_apply_task_cb(), mask_init_task_cb(), paint_mesh_restore_co_task_cb(), partialvis_update_bmesh(), partialvis_update_grids(), partialvis_update_mesh(), project_line_gesture_apply_task_cb(), sculpt_combine_proxies_task_cb(), sculpt_detail_flood_fill_exec(), sculpt_dirty_mask_exec(), sculpt_dynamic_topology_disable_with_undo(), sculpt_dynamic_topology_enable_with_undo(), sculpt_elastic_transform_task_cb(), sculpt_expand_undo_push(), sculpt_face_set_create_exec(), sculpt_face_set_edit_modify_coordinates(), sculpt_face_set_edit_modify_face_sets(), sculpt_face_set_init_exec(), sculpt_face_sets_change_visibility_exec(), sculpt_gesture_face_set_begin(), sculpt_gesture_trim_begin(), sculpt_gesture_trim_end(), sculpt_mask_expand_invoke(), sculpt_mask_filter_exec(), SCULPT_orig_vert_data_init(), sculpt_symmetrize_exec(), sculpt_topology_update(), sculpt_transform_task_cb(), sculpt_undo_push_all_grids(), and vpaint_paint_leaves().

◆ sculpt_undo_refine_subdiv()

static void sculpt_undo_refine_subdiv ( Depsgraph depsgraph,
SculptSession ss,
Object object,
struct Subdiv subdiv 
)
static

◆ sculpt_undo_restore_color()

static bool sculpt_undo_restore_color ( bContext C,
SculptUndoNode unode,
bool modified_vertices 
)
static

◆ sculpt_undo_restore_coords()

static bool sculpt_undo_restore_coords ( bContext C,
Depsgraph depsgraph,
SculptUndoNode unode 
)
static

◆ sculpt_undo_restore_deformed()

static bool sculpt_undo_restore_deformed ( const SculptSession ss,
SculptUndoNode unode,
int  uindex,
int  oindex,
float  coord[3] 
)
static

◆ sculpt_undo_restore_face_sets()

static bool sculpt_undo_restore_face_sets ( bContext C,
SculptUndoNode unode 
)
static

◆ sculpt_undo_restore_hidden()

static bool sculpt_undo_restore_hidden ( bContext C,
SculptUndoNode unode,
bool modified_vertices 
)
static

◆ sculpt_undo_restore_list()

static void sculpt_undo_restore_list ( bContext C,
Depsgraph depsgraph,
ListBase lb 
)
static

Definition at line 697 of file sculpt_undo.c.

References SculptUndoNode::applied, BKE_mesh_flush_hidden_from_verts(), BKE_mesh_tag_coords_changed(), BKE_pbvh_search_callback(), BKE_pbvh_type(), BKE_pbvh_update_bounds(), BKE_pbvh_update_vertex_data(), BKE_pbvh_update_visibility(), BKE_sculpt_multires_active(), BKE_sculpt_update_object_for_edit(), BKE_sculptsession_free_deformMats(), BKE_sculptsession_use_pbvh_draw(), BLI_assert_msg, C, copy_v3_v3(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_region_view3d(), data, Object::data, SculptSession::deform_modifiers_active, DEG_id_tag_update(), depsgraph, ListBase::first, SubdivCCG::grid_size, SculptUndoNode::grids, SculptUndoNode::gridsize, Object::id, ID_REAL_USERS, ID_RECALC_GEOMETRY, ID_RECALC_SHADING, SculptUndoNode::idname, if(), SculptUndoNode::maxgrid, SculptUndoNode::maxvert, MEM_calloc_arrayN, MEM_callocN, MEM_SAFE_FREE, mesh, PartialUpdateData::modified_color_vertices, PartialUpdateData::modified_hidden_vertices, PartialUpdateData::modified_mask_vertices, MULTIRES_COORDS_MODIFIED, MULTIRES_HIDDEN_MODIFIED, multires_mark_as_modified(), ID::name, SculptUndoNode::next, NULL, SubdivCCG::num_grids, OBACT, SculptSession::pbvh, PBVH_FACES, PBVH_UpdateBB, PBVH_UpdateMask, PBVH_UpdateOriginalBB, PBVH_UpdateRedraw, PBVH_UpdateVisibility, SculptSession::pivot_pos, SculptUndoNode::pivot_pos, SculptSession::pivot_rot, SculptUndoNode::pivot_rot, PartialUpdateData::rebuild, scene, Object::sculpt, sculpt_undo_bmesh_restore(), SCULPT_UNDO_COLOR, SCULPT_UNDO_COORDS, SCULPT_UNDO_DYNTOPO_BEGIN, SCULPT_UNDO_DYNTOPO_END, SCULPT_UNDO_DYNTOPO_SYMMETRIZE, SCULPT_UNDO_FACE_SETS, SCULPT_UNDO_GEOMETRY, sculpt_undo_geometry_restore(), SCULPT_UNDO_HIDDEN, SCULPT_UNDO_MASK, sculpt_undo_refine_subdiv(), sculpt_undo_restore_color(), sculpt_undo_restore_coords(), sculpt_undo_restore_face_sets(), sculpt_undo_restore_hidden(), sculpt_undo_restore_mask(), SCULPT_update_object_bounding_box(), SCULPT_visibility_sync_all_face_sets_to_vertices(), SCULPT_visibility_sync_all_vertex_to_face_sets(), SculptSession::shapekey_active, STREQ, SubdivCCG::subdiv, SculptSession::subdiv_ccg, SculptUndoNode::totgrid, SculptSession::totvert, SculptUndoNode::type, update(), update_cb(), and update_cb_partial().

Referenced by sculpt_undosys_step_decode_redo_impl(), and sculpt_undosys_step_decode_undo_impl().

◆ sculpt_undo_restore_mask()

static bool sculpt_undo_restore_mask ( bContext C,
SculptUndoNode unode,
bool modified_vertices 
)
static

◆ sculpt_undo_set_active_layer()

static void sculpt_undo_set_active_layer ( struct bContext C,
SculptAttrRef attr 
)
static

◆ sculpt_undo_store_color()

static void sculpt_undo_store_color ( Object ob,
SculptUndoNode unode 
)
static

◆ sculpt_undo_store_coords()

static void sculpt_undo_store_coords ( Object ob,
SculptUndoNode unode 
)
static

◆ sculpt_undo_store_hidden()

static void sculpt_undo_store_hidden ( Object ob,
SculptUndoNode unode 
)
static

◆ sculpt_undo_store_mask()

static void sculpt_undo_store_mask ( Object ob,
SculptUndoNode unode 
)
static

◆ sculpt_undo_use_multires_mesh()

static bool sculpt_undo_use_multires_mesh ( bContext C)
static

◆ sculpt_undosys_step_decode()

static void sculpt_undosys_step_decode ( struct bContext C,
struct Main bmain,
UndoStep us_p,
const eUndoStepDir  dir,
bool  is_final 
)
static

◆ sculpt_undosys_step_decode_redo()

static void sculpt_undosys_step_decode_redo ( struct bContext C,
Depsgraph depsgraph,
SculptUndoStep us 
)
static

◆ sculpt_undosys_step_decode_redo_impl()

static void sculpt_undosys_step_decode_redo_impl ( struct bContext C,
Depsgraph depsgraph,
SculptUndoStep us 
)
static

◆ sculpt_undosys_step_decode_undo()

static void sculpt_undosys_step_decode_undo ( struct bContext C,
Depsgraph depsgraph,
SculptUndoStep us,
const bool  is_final 
)
static

◆ sculpt_undosys_step_decode_undo_impl()

static void sculpt_undosys_step_decode_undo_impl ( struct bContext C,
Depsgraph depsgraph,
SculptUndoStep us 
)
static

◆ sculpt_undosys_step_encode()

static bool sculpt_undosys_step_encode ( struct bContext UNUSEDC,
struct Main bmain,
UndoStep us_p 
)
static

◆ sculpt_undosys_step_encode_init()

static void sculpt_undosys_step_encode_init ( struct bContext UNUSEDC,
UndoStep us_p 
)
static

Definition at line 1671 of file sculpt_undo.c.

References BLI_listbase_clear(), SculptUndoStep::data, and UndoSculpt::nodes.

Referenced by ED_sculpt_undosys_type().

◆ sculpt_undosys_step_free()

static void sculpt_undosys_step_free ( UndoStep us_p)
static

Definition at line 1827 of file sculpt_undo.c.

References SculptUndoStep::data, UndoSculpt::nodes, and sculpt_undo_free_list().

Referenced by ED_sculpt_undosys_type().

◆ sculpt_undosys_step_get_nodes()

static UndoSculpt* sculpt_undosys_step_get_nodes ( UndoStep us_p)
static

Definition at line 1865 of file sculpt_undo.c.

References SculptUndoStep::data.

Referenced by sculpt_undo_get_nodes().

◆ test_swap_v3_v3()

static bool test_swap_v3_v3 ( float  a[3],
float  b[3] 
)
static

Definition at line 210 of file sculpt_undo.c.

References Freestyle::a, usdtokens::b(), and swap_v3_v3().

Referenced by sculpt_undo_restore_deformed().

◆ update_cb()

static void update_cb ( PBVHNode node,
void rebuild 
)
static

◆ update_cb_partial()

static void update_cb_partial ( PBVHNode node,
void userdata 
)
static