76class DepsgraphBuilderCache;
90 template<
typename KeyFrom,
typename KeyTo>
93 const char *description,
96 template<
typename KeyTo>
99 const char *description,
102 template<
typename KeyType>
105 const char *description,
108 template<
typename KeyTo>
111 const char *description,
163 const char *component_subdata,
197 const char *rna_path);
202 const char *rna_path);
215 const char *rna_path_from_target_prop);
301 const char *description,
310 const char *description,
313 template<
typename KeyType>
323 template<
typename KeyFrom,
typename KeyTo>
328 template<
typename KeyFrom,
typename KeyTo>
332 struct BuilderWalkUserData {
336 static void modifier_walk(
void *user_data,
341 static void constraint_walk(
bConstraint *con,
ID **idpoin,
bool is_reference,
void *user_data);
ID and Library types, which are fundamental for SDNA.
btSequentialImpulseConstraintSolverMt int btPersistentManifold int btTypedConstraint ** constraints
virtual void build_driver_rna_path_variable(const OperationKey &driver_key, const RNAPathKey &self_key, ID *target_id, const PointerRNA &target_prop, const char *rna_path)
void add_particle_collision_relations(const OperationKey &key, Object *object, Collection *collection, const char *name)
virtual void build_sound(bSound *sound)
virtual void build_animdata_action_targets(ID *id, int32_t slot_handle, ComponentKey &adt_key, OperationNode *operation_from, bAction *action)
Relation * add_depends_on_transform_relation(ID *id, const KeyTo &key_to, const char *description, int flags=0)
virtual void build_freestyle_linestyle(FreestyleLineStyle *linestyle)
virtual void build_ik_pose(Object *object, bPoseChannel *pchan, bConstraint *con, RootPChanMap *root_map)
virtual void build_collection(LayerCollection *from_layer_collection, Collection *collection)
virtual void build_scene_audio(Scene *scene)
virtual void build_image(Image *image)
virtual void build_scene_camera(Scene *scene)
virtual void build_driver_id_property(const PointerRNA &target_prop, const char *rna_path_from_target_prop)
virtual void build_copy_on_write_relations()
virtual void build_object_layer_component_relations(Object *object)
virtual void build_object_from_view_layer_base(Object *object)
virtual void build_driver(ID *id, FCurve *fcurve)
virtual void build_scene_compositor(Scene *scene)
virtual void build_dimensions(Object *object)
virtual void build_animation_images(ID *id)
virtual void build_driver_data(ID *id, FCurve *fcurve)
virtual void build_nested_nodetree(ID *owner, bNodeTree *ntree)
virtual void build_nodetree_socket(bNodeSocket *socket)
virtual void build_light(Light *lamp)
virtual void build_action(bAction *action)
virtual void build_material(Material *ma, ID *owner=nullptr)
virtual void build_speaker(Speaker *speaker)
virtual void build_animdata_force(ID *id)
TimeSourceNode * get_node(const TimeSourceKey &key) const
bool is_same_nodetree_node_dependency(const KeyFrom &key_from, const KeyTo &key_to)
virtual void build_scene_speakers(Scene *scene, ViewLayer *view_layer)
OperationNode * find_node(const OperationKey &key) const
virtual void build_armature(bArmature *armature)
virtual void build_armature_bone_collections(blender::Span< BoneCollection * > collections)
virtual void build_view_layer(Scene *scene, ViewLayer *view_layer, eDepsNode_LinkedState_Type linked_state)
virtual void build_armature_bones(ListBase *bones)
virtual void build_object_pointcache(Object *object)
virtual void build_constraints(ID *id, NodeType component_type, const char *component_subdata, ListBase *constraints, RootPChanMap *root_map)
virtual void build_mask(Mask *mask)
virtual void build_object_modifiers(Object *object)
virtual void build_vfont(VFont *vfont)
virtual void build_animdata_curves_targets(ID *id, ComponentKey &adt_key, OperationNode *operation_from, ListBase *curves)
virtual void build_view_layer_collections(ViewLayer *view_layer)
virtual void build_camera(Camera *camera)
virtual void build_object_data_light(Object *object)
virtual void build_world(World *world)
void add_customdata_mask(Object *object, const DEGCustomDataMeshMasks &customdata_masks)
bool is_same_bone_dependency(const KeyFrom &key_from, const KeyTo &key_to)
virtual void build_scene_sequencer(Scene *scene)
Relation * add_node_handle_relation(const KeyType &key_from, const DepsNodeHandle *handle, const char *description, int flags=0)
virtual void build_object_data_camera(Object *object)
virtual void build_animdata(ID *id)
virtual void build_scene_render(Scene *scene, ViewLayer *view_layer)
virtual void build_object_data_geometry(Object *object)
DepsgraphRelationBuilder(Main *bmain, Depsgraph *graph, DepsgraphBuilderCache *cache)
virtual void build_object_data_lightprobe(Object *object)
virtual void build_particle_settings(ParticleSettings *part)
virtual void build_object_light_linking(Object *emitter)
virtual void build_texture(Tex *tex)
void add_special_eval_flag(ID *id, uint32_t flag)
virtual void build_generic_id(ID *id)
virtual void build_driver_scene_camera_variable(const OperationKey &driver_key, const RNAPathKey &self_key, Scene *scene, const char *rna_path)
virtual void build_object(Object *object)
virtual void build_movieclip(MovieClip *clip)
virtual void build_nodetree(bNodeTree *ntree)
Relation * add_relation(const KeyFrom &key_from, const KeyTo &key_to, const char *description, int flags=0)
virtual void build_object_data_geometry_datablock(ID *obdata)
virtual void build_animdata_fcurve_target(ID *id, PointerRNA id_ptr, ComponentKey &adt_key, OperationNode *operation_from, FCurve *fcu)
void add_particle_forcefield_relations(const OperationKey &key, Object *object, ParticleSystem *psys, EffectorWeights *eff, bool add_absorption, const char *name)
virtual void build_rigidbody(Scene *scene)
virtual void build_nested_datablock(ID *owner, ID *id, bool flush_cow_changes)
virtual void build_particle_system_visualization_object(Object *object, ParticleSystem *psys, Object *draw_object)
virtual void build_lightprobe(LightProbe *probe)
void add_visibility_relation(ID *id_from, ID *id_to)
virtual void build_splineik_pose(Object *object, bPoseChannel *pchan, bConstraint *con, RootPChanMap *root_map)
virtual void build_driver_variables(ID *id, FCurve *fcurve)
virtual bool build_layer_collection(LayerCollection *layer_collection)
virtual void build_object_instance_collection(Object *object)
virtual void build_nested_shapekey(ID *owner, Key *key)
virtual void build_object_parent(Object *object)
virtual void build_scene_parameters(Scene *scene)
virtual void build_parameters(ID *id)
bool has_node(const ComponentKey &key) const
virtual void build_inter_ik_chains(Object *object, const OperationKey &solver_key, const bPoseChannel *rootchan, const RootPChanMap *root_map)
virtual void build_shapekeys(Key *key)
virtual void build_object_data_speaker(Object *object)
virtual void build_freestyle_lineset(FreestyleLineSet *fls)
virtual void build_light_linking_collection(Object *emitter, Collection *collection)
virtual void build_rig(Object *object)
Relation * add_operation_relation(OperationNode *node_from, OperationNode *node_to, const char *description, int flags=0)
OperationNode * find_operation_node(const KeyType &key)
virtual void build_object_data(Object *object)
virtual void build_animdata_drivers(ID *id)
virtual void build_id(ID *id)
virtual void build_idproperties(IDProperty *id_property)
virtual void build_materials(ID *owner, Material **materials, int num_materials)
virtual void build_animdata_curves(ID *id)
virtual void build_cachefile(CacheFile *cache_file)
virtual void build_object_shading(Object *object)
DepsNodeHandle create_node_handle(const KeyType &key, const char *default_name="")
virtual void build_driver_relations()
virtual void build_animdata_nlastrip_targets(ID *id, ComponentKey &adt_key, OperationNode *operation_from, ListBase *strips)
Relation * add_time_relation(TimeSourceNode *timesrc, Node *node_to, const char *description, int flags=0)
virtual void build_particle_systems(Object *object)
FreestyleLineStyle linestyle
eDepsNode_LinkedState_Type
DepsgraphRelationBuilder * builder
const char * default_name
DepsNodeHandle(DepsgraphRelationBuilder *builder, OperationNode *node, const char *default_name="")