40 object->runtime->bounds_eval =
runtime.bounds_eval;
44 object->data =
runtime.data_orig;
57 if (modifier_data->runtime ==
nullptr) {
62 modifier_data->runtime =
nullptr;
68 if (object->
pose !=
nullptr) {
70 const SessionUID &session_uid = pchan->runtime.session_uid;
81 ID *data_orig =
object->
runtime->data_orig;
83 std::optional<Bounds<float3>>
bounds =
object->runtime->bounds_eval;
85 object->runtime->data_orig = data_orig;
95 object->data = data_orig;
104 object->data = data_eval;
111 Mesh *mesh_eval = (
Mesh *)data_eval;
112 Mesh *mesh_orig = (
Mesh *)data_orig;
120 object->data = data_orig;
124 object->data =
object->runtime->data_eval;
132 object->light_linking = MEM_cnew<LightLinking>(__func__);
150 modifier_data->persistent_uid);
151 if (backup.has_value()) {
152 modifier_data->runtime = backup->runtime;
164 if (mesh->
runtime->subsurf_runtime_data == backup.runtime) {
165 mesh->
runtime->subsurf_runtime_data =
nullptr;
174 if (object->
pose !=
nullptr) {
176 const SessionUID &session_uid = pchan->runtime.session_uid;
Blender kernel action and pose functionality.
void BKE_pose_channel_runtime_free(bPoseChannel_Runtime *runtime) ATTR_NONNULL(1)
void BKE_pose_channel_runtime_reset(bPoseChannel_Runtime *runtime) ATTR_NONNULL(1)
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
General operations, lookup, etc. for blender objects.
void BKE_object_runtime_reset(Object *object)
void BKE_object_free_derived_caches(Object *ob)
#define LISTBASE_FOREACH(type, var, list)
bool BLI_session_uid_is_generated(const SessionUID *uid)
unsigned short base_local_view_bits
Map< SessionUID, bPoseChannel_Runtime > pose_channel_runtime_data
bke::ObjectRuntime runtime
void init_from_object(Object *object)
optional< LightLinkingRuntime > light_linking_runtime
ObjectRuntimeBackup(const Depsgraph *depsgraph)
void backup_modifier_runtime_data(Object *object)
Map< int, ModifierDataBackup > modifier_runtime_data
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
MeshRuntimeHandle * runtime
void(* free_runtime_data)(void *runtime_data)
LightLinking * light_linking