35 : data(pointer_rna.data), property_rna(property_rna)
48 const char *property_name)
56 return a.data ==
b.data && a.property_rna ==
b.property_rna;
63 return uint64_t(((ptr1 >> 4) * 33) ^ (ptr2 >> 4));
79 &own_pointer_rna, fcurve->
rna_path, &pointer_rna, &property_rna))
86 if (pointer_rna.owner_id != own_pointer_rna.
owner_id) {
88 pointer_rna.owner_id);
130 delete animated_property_storage;
148 return animated_property_storage;
void BKE_fcurves_id_cb(struct ID *id, blender::FunctionRef< void(ID *, FCurve *)> func)
Read Guarded memory(de)allocation.
bool contains(const Key &key) const
const PropertyRNA * property_rna
Set< AnimatedPropertyID > animated_properties_set
Set< const void * > animated_objects_set
void initializeFromID(DepsgraphBuilderCache *builder_cache, const ID *id)
bool isAnyPropertyAnimated(const PointerRNA *pointer_rna)
bool isPropertyAnimated(const AnimatedPropertyID &property_id)
void tagPropertyAsAnimated(const AnimatedPropertyID &property_id)
bool is_fully_initialized
AnimatedPropertyStorage()
Map< const ID *, AnimatedPropertyStorage * > animated_property_storage_map_
AnimatedPropertyStorage * ensureInitializedAnimatedPropertyStorage(const ID *id)
AnimatedPropertyStorage * ensureAnimatedPropertyStorage(const ID *id)
local_group_size(16, 16) .push_constant(Type b
bool operator==(const AnimatedPropertyID &a, const AnimatedPropertyID &b)
PropertyRNA * RNA_struct_type_find_property(StructRNA *srna, const char *identifier)
PointerRNA RNA_id_pointer_create(ID *id)
bool RNA_path_resolve_property(const PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop)
_W64 unsigned int uintptr_t
unsigned __int64 uint64_t