Merge branch 'master' into blender2.8
[blender.git] / source / blender / depsgraph / intern / builder / deg_builder_relations.h
index ed2d4b1162f859fa2fbbc30f6b8235067281231d..7469540521b83f7f93afb25fb40616b8cc46beff 100644 (file)
@@ -83,6 +83,7 @@ namespace DEG {
 struct Depsgraph;
 struct DepsNode;
 struct DepsNodeHandle;
+struct DepsRelation;
 struct RootDepsNode;
 struct IDDepsNode;
 struct TimeSourceDepsNode;
@@ -176,22 +177,22 @@ struct DepsgraphRelationBuilder
        void begin_build();
 
        template <typename KeyFrom, typename KeyTo>
-       void add_relation(const KeyFrom& key_from,
-                         const KeyTo& key_to,
-                         const char *description,
-                         bool check_unique = false);
+       DepsRelation *add_relation(const KeyFrom& key_from,
+                                  const KeyTo& key_to,
+                                  const char *description,
+                                  bool check_unique = false);
 
        template <typename KeyTo>
-       void add_relation(const TimeSourceKey& key_from,
-                         const KeyTo& key_to,
-                         const char *description,
-                         bool check_unique = false);
+       DepsRelation *add_relation(const TimeSourceKey& key_from,
+                                  const KeyTo& key_to,
+                                  const char *description,
+                                  bool check_unique = false);
 
        template <typename KeyType>
-       void add_node_handle_relation(const KeyType& key_from,
-                                     const DepsNodeHandle *handle,
-                                     const char *description,
-                                     bool check_unique = false);
+       DepsRelation *add_node_handle_relation(const KeyType& key_from,
+                                              const DepsNodeHandle *handle,
+                                              const char *description,
+                                              bool check_unique = false);
 
        void build_view_layer(Scene *scene, ViewLayer *view_layer);
        void build_group(Object *object, Group *group);
@@ -280,14 +281,14 @@ protected:
        OperationDepsNode *find_node(const OperationKey &key) const;
        bool has_node(const OperationKey &key) const;
 
-       void add_time_relation(TimeSourceDepsNode *timesrc,
-                              DepsNode *node_to,
-                              const char *description,
-                              bool check_unique = false);
-       void add_operation_relation(OperationDepsNode *node_from,
-                                   OperationDepsNode *node_to,
-                                   const char *description,
-                                   bool check_unique = false);
+       DepsRelation *add_time_relation(TimeSourceDepsNode *timesrc,
+                                       DepsNode *node_to,
+                                       const char *description,
+                                       bool check_unique = false);
+       DepsRelation *add_operation_relation(OperationDepsNode *node_from,
+                                            OperationDepsNode *node_to,
+                                            const char *description,
+                                            bool check_unique = false);
 
        template <typename KeyType>
        DepsNodeHandle create_node_handle(const KeyType& key,