Blender V5.0
sculpt_undo.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include <cstdint>
12
13#include "BLI_index_mask_fwd.hh"
14#include "BLI_span.hh"
15#include "BLI_vector.hh"
16
17struct Depsgraph;
18struct Mesh;
19struct Object;
20struct Scene;
21struct wmOperator;
22namespace blender::bke::pbvh {
23class Node;
24}
25
27
40
41struct StepData;
42
49void push_node(const Depsgraph &depsgraph,
50 const Object &object,
51 const bke::pbvh::Node *node,
52 undo::Type type);
53void push_nodes(const Depsgraph &depsgraph,
54 Object &object,
55 const IndexMask &node_mask,
56 undo::Type type);
57
63void push_begin(const Scene &scene, Object &ob, const wmOperator *op);
64
70void push_enter_sculpt_mode(const Scene &scene, Object &ob, const wmOperator *op);
71
76void push_begin_ex(const Scene &scene, Object &ob, const char *name);
77void push_end(Object &ob);
78void push_end_ex(Object &ob, bool use_nested_undo);
79
80void restore_from_bmesh_enter_geometry(const StepData &step_data, Mesh &mesh);
82
83void restore_position_from_undo_step(const Depsgraph &depsgraph, Object &object);
84
85namespace compression {
86
91template<typename T>
92void filter_compress(const Span<T> src,
93 Vector<std::byte> &filter_buffer,
94 Vector<std::byte> &compress_buffer);
95
97template<typename T>
99
100} // namespace compression
101
102} // namespace blender::ed::sculpt_paint::undo
BPy_StructRNA * depsgraph
void filter_decompress(const Span< std::byte > src, Vector< std::byte > &buffer, Vector< T > &dst)
void filter_compress(const Span< T > src, Vector< std::byte > &filter_buffer, Vector< std::byte > &compress_buffer)
void push_nodes(const Depsgraph &depsgraph, Object &object, const IndexMask &node_mask, const Type type)
void push_begin_ex(const Scene &, Object &ob, const char *name)
void push_enter_sculpt_mode(const Scene &, Object &ob, const wmOperator *op)
void restore_position_from_undo_step(const Depsgraph &depsgraph, Object &object)
Definition sculpt.cc:1031
void push_node(const Depsgraph &depsgraph, const Object &object, const bke::pbvh::Node *node, const Type type)
void push_begin(const Scene &scene, Object &ob, const wmOperator *op)
void restore_from_bmesh_enter_geometry(const StepData &step_data, Mesh &mesh)
void push_end_ex(Object &ob, const bool use_nested_undo)
const char * name