44 object->runtime->bounds_eval =
runtime.bounds_eval;
48 object->data =
runtime.data_orig;
61 if (modifier_data->runtime ==
nullptr) {
66 modifier_data->runtime =
nullptr;
72 if (object->
pose !=
nullptr) {
74 const SessionUID &session_uid = pchan->runtime.session_uid;
85 ID *data_orig =
object->
runtime->data_orig;
87 std::optional<Bounds<float3>>
bounds =
object->runtime->bounds_eval;
89 object->runtime->data_orig = data_orig;
99 object->data = data_orig;
108 object->data = data_eval;
115 Mesh *mesh_eval = (
Mesh *)data_eval;
116 Mesh *mesh_orig = (
Mesh *)data_orig;
124 object->data = data_orig;
128 object->data =
object->runtime->data_eval;
152 modifier_data->persistent_uid);
153 if (backup.has_value()) {
154 modifier_data->runtime = backup->runtime;
166 if (mesh->
runtime->subsurf_runtime_data == backup.runtime) {
167 mesh->
runtime->subsurf_runtime_data =
nullptr;
176 if (object->
pose !=
nullptr) {
178 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)
void BKE_light_linking_ensure(struct Object *object)
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)
ObjectRuntimeBackup(const Depsgraph *depsgraph)
void backup_modifier_runtime_data(Object *object)
Map< int, ModifierDataBackup > modifier_runtime_data
void restore_to_object(Object *object)
std::optional< LightLinkingRuntime > light_linking_runtime
void backup_pose_channel_runtime_data(Object *object)
void restore_modifier_runtime_data(Object *object)
void restore_pose_channel_runtime_data(Object *object)
ID_RuntimeHandle * runtime
MeshRuntimeHandle * runtime
void(* free_runtime_data)(void *runtime_data)
LightLinking * light_linking