27 #include "RNA_prototypes.h"
47 return (
ID *)
id->orig_id;
52 const ID *const_id =
id;
73 const ID *const_id =
id;
84 return deg_graph->
scene;
96 return deg_graph->
bmain;
102 return deg_graph->
mode;
108 return deg_graph->
ctime;
139 if (
graph ==
nullptr) {
162 if (
graph ==
nullptr) {
199 if (scene_cow ==
nullptr) {
208 return view_layer_cow;
225 if ((
ptr ==
nullptr) || (r_ptr_eval ==
nullptr)) {
233 r_ptr_eval->
data = (
void *)cow_id;
236 else if (
ptr->
type == &RNA_PoseBone) {
244 r_ptr_eval->
data = (
void *)pchan_eval;
260 "%s: Couldn't resolve RNA path ('%s') relative to COW ID (%p) for '%s'\n",
270 "%s: Couldn't get RNA path for %s relative to %s\n",
Blender kernel action and pose functionality.
struct bPoseChannel * BKE_pose_channel_find_name(const struct bPose *pose, const char *name)
CustomData interface, see also DNA_customdata_types.h.
int BKE_idtype_idcode_to_index(short idcode)
void * BLI_findstring(const struct ListBase *listbase, const char *id, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
struct Depsgraph Depsgraph
@ LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT
@ LIB_TAG_COPIED_ON_WRITE
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
const Depsgraph * depsgraph
float DEG_get_ctime(const Depsgraph *graph)
Scene * DEG_get_evaluated_scene(const Depsgraph *graph)
struct Scene * DEG_get_input_scene(const Depsgraph *graph)
ID * DEG_get_evaluated_id(const Depsgraph *depsgraph, ID *id)
uint32_t DEG_get_eval_flags_for_id(const Depsgraph *graph, const ID *id)
bool DEG_is_fully_evaluated(const struct Depsgraph *depsgraph)
bool DEG_is_evaluated_id(const ID *id)
void DEG_get_customdata_mask_for_object(const Depsgraph *graph, Object *ob, CustomData_MeshMasks *r_mask)
eEvaluationMode DEG_get_mode(const Depsgraph *graph)
bool DEG_is_original_id(const ID *id)
ViewLayer * DEG_get_evaluated_view_layer(const Depsgraph *graph)
ID * DEG_get_original_id(ID *id)
struct Main * DEG_get_bmain(const Depsgraph *graph)
bool DEG_is_original_object(const Object *object)
struct ViewLayer * DEG_get_input_view_layer(const Depsgraph *graph)
bool DEG_id_type_any_exists(const Depsgraph *depsgraph, short id_type)
void DEG_get_evaluated_rna_pointer(const Depsgraph *depsgraph, PointerRNA *ptr, PointerRNA *r_ptr_eval)
Object * DEG_get_original_object(Object *object)
bool DEG_id_type_updated(const Depsgraph *graph, short id_type)
Object * DEG_get_evaluated_object(const Depsgraph *depsgraph, Object *object)
bool DEG_is_evaluated_object(const Object *object)
bool DEG_id_type_any_updated(const Depsgraph *graph)
static const ID * get_original_id(const ID *id)
static const ID * get_evaluated_id(const Depsgraph *deg_graph, const ID *id)
static ID * get_original_id(ID *id)
bool deg_copy_on_write_is_expanded(const ID *id_cow)
static ID * get_evaluated_id(const Depsgraph *deg_graph, ID *id)
const char * RNA_struct_identifier(const StructRNA *type)
void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
char * RNA_path_from_ID_to_struct(const PointerRNA *ptr)
bool RNA_path_resolve(const PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop)
IDNode * find_id_node(const ID *id) const
char id_type_updated[INDEX_ID_MAX]
char id_type_exist[INDEX_ID_MAX]
Set< OperationNode * > entry_tags
bool need_update_relations