43 object->runtime->bounds_eval =
runtime.bounds_eval;
47 object->data =
runtime.data_orig;
60 if (modifier_data->runtime ==
nullptr) {
65 modifier_data->runtime =
nullptr;
71 if (object->
pose !=
nullptr) {
73 const SessionUID &session_uid = pchan->runtime.session_uid;
84 ID *data_orig =
object->
runtime->data_orig;
86 std::optional<Bounds<float3>>
bounds =
object->runtime->bounds_eval;
88 object->runtime->data_orig = data_orig;
98 object->data = data_orig;
107 object->data = data_eval;
114 Mesh *mesh_eval = (
Mesh *)data_eval;
115 Mesh *mesh_orig = (
Mesh *)data_orig;
123 object->data = data_orig;
127 object->data =
object->runtime->data_eval;
153 modifier_data->persistent_uid);
154 if (backup.has_value()) {
155 modifier_data->runtime = backup->runtime;
167 if (mesh->
runtime->subsurf_runtime_data == backup.runtime) {
168 mesh->
runtime->subsurf_runtime_data =
nullptr;
177 if (object->
pose !=
nullptr) {
179 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)
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)
void * MEM_callocN(size_t len, const char *str)
struct ID_Runtime runtime
MeshRuntimeHandle * runtime
void(* free_runtime_data)(void *runtime_data)
LightLinking * light_linking