22 : base_flag(0), base_local_view_bits(0)
51 if (modifier_data->runtime ==
nullptr) {
55 const SessionUUID &session_uuid = modifier_data->session_uuid;
59 modifier_data->runtime =
nullptr;
65 if (object->
pose !=
nullptr) {
67 const SessionUUID &session_uuid = pchan->runtime.session_uuid;
78 ID *data_orig =
object->
runtime.data_orig;
92 object->data = data_orig;
101 object->data = data_eval;
108 Mesh *mesh_eval = (
Mesh *)data_eval;
109 Mesh *mesh_orig = (
Mesh *)data_orig;
117 object->data = data_orig;
121 object->data =
object->runtime.data_eval;
136 const SessionUUID &session_uuid = modifier_data->session_uuid;
141 modifier_data->runtime =
backup->runtime;
154 if (object->
pose !=
nullptr) {
156 const SessionUUID &session_uuid = pchan->runtime.session_uuid;
Blender kernel action and pose functionality.
void BKE_pose_channel_runtime_reset(struct bPoseChannel_Runtime *runtime)
void BKE_pose_channel_runtime_free(struct bPoseChannel_Runtime *runtime)
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
General operations, lookup, etc. for blender objects.
void BKE_object_free_derived_caches(struct Object *ob)
void BKE_object_runtime_reset(struct Object *object)
#define LISTBASE_FOREACH(type, var, list)
bool BLI_session_uuid_is_generated(const SessionUUID *uuid)
bool add(const Key &key, const Value &value)
ValueIterator values() const
std::optional< Value > pop_try(const Key &key)
unsigned short base_local_view_bits
void init_from_object(Object *object)
Map< SessionUUID, bPoseChannel_Runtime > pose_channel_runtime_data
Map< SessionUUID, ModifierDataBackup > modifier_runtime_data
ObjectRuntimeBackup(const Depsgraph *depsgraph)
void backup_modifier_runtime_data(Object *object)
void restore_to_object(Object *object)
void backup_pose_channel_runtime_data(Object *object)
void restore_modifier_runtime_data(Object *object)
void restore_pose_channel_runtime_data(Object *object)
struct ID_Runtime runtime
struct BMEditMesh * edit_mesh
void(* freeRuntimeData)(void *runtime_data)