Merge branch 'master' into blender2.8
[blender.git] / source / blender / depsgraph / DEG_depsgraph_build.h
index c09c811121b5b433edd6b320d8d5d18927d82722..a81dd4c88527b2e7887ac5cbd4ac8a720c7c57c1 100644 (file)
@@ -43,6 +43,7 @@ struct Depsgraph;
 struct CacheFile;
 struct EffectorWeights;
 struct Collection;
+struct ID;
 struct Main;
 struct ModifierData;
 struct Object;
@@ -125,27 +126,20 @@ typedef enum eDepsObjectComponentType {
        /* Bone Component - Child/Subcomponent of Pose */
        DEG_OB_COMP_BONE,
 
-       /* Particle Systems Component */
-       DEG_OB_COMP_EVAL_PARTICLES,
        /* Material Shading Component */
        DEG_OB_COMP_SHADING,
        /* Cache Component */
        DEG_OB_COMP_CACHE,
 } eDepsObjectComponentType;
 
-void DEG_add_scene_relation(struct DepsNodeHandle *node,
+void DEG_add_scene_relation(struct DepsNodeHandle *node_handle,
                             struct Scene *scene,
                             eDepsSceneComponentType component,
                             const char *description);
-void DEG_add_object_relation(struct DepsNodeHandle *node,
+void DEG_add_object_relation(struct DepsNodeHandle *node_handle,
                              struct Object *object,
                              eDepsObjectComponentType component,
                              const char *description);
-void DEG_add_object_relation_with_customdata(struct DepsNodeHandle *node,
-                                             struct Object *object,
-                                             eDepsObjectComponentType component,
-                                             uint64_t customdata_mask,
-                                             const char *description);
 void DEG_add_bone_relation(struct DepsNodeHandle *handle,
                            struct Object *object,
                            const char *bone_name,
@@ -155,10 +149,25 @@ void DEG_add_object_cache_relation(struct DepsNodeHandle *handle,
                                    struct CacheFile *cache_file,
                                    eDepsObjectComponentType component,
                                    const char *description);
+/* Adds relation from DEG_OPCODE_GENERIC_DATABLOCK_UPDATE of a given ID.
+ * Is used for such entities as textures and images. */
+void DEG_add_generic_id_relation(struct DepsNodeHandle *node_handle,
+                                 struct ID *id,
+                                 const char *description);
+
+/* Adds relations from the given component of a given object to the given node
+ * handle AND the component to the point cache component of the node's ID.
+ */
+void DEG_add_object_pointcache_relation(struct DepsNodeHandle *node_handle,
+                                        struct Object *object,
+                                        eDepsObjectComponentType component,
+                                        const char *description);
 
 void DEG_add_special_eval_flag(struct DepsNodeHandle *handle, struct ID *id, uint32_t flag);
+void DEG_add_customdata_mask(struct DepsNodeHandle *handle, struct Object *object, uint64_t mask);
 
-struct Depsgraph *DEG_get_graph_from_handle(struct DepsNodeHandle *handle);
+struct ID *DEG_get_id_from_handle(struct DepsNodeHandle *node_handle);
+struct Depsgraph *DEG_get_graph_from_handle(struct DepsNodeHandle *node_handle);
 
 /* ************************************************ */