diff options
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph.h')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph.h b/source/blender/depsgraph/intern/depsgraph.h index ce56d67b6de..f18b93c9807 100644 --- a/source/blender/depsgraph/intern/depsgraph.h +++ b/source/blender/depsgraph/intern/depsgraph.h @@ -42,9 +42,12 @@ struct ID; struct GHash; +struct Main; struct GSet; struct PointerRNA; struct PropertyRNA; +struct Scene; +struct ViewLayer; namespace DEG { @@ -104,7 +107,8 @@ struct Depsgraph { * Convenience wrapper to find node given just pointer + property. * * \param ptr: pointer to the data that node will represent - * \param prop: optional property affected - providing this effectively results in inner nodes being returned + * \param prop: optional property affected - providing this effectively + * results in inner nodes being returned * * \return A node matching the required characteristics if it exists * or NULL if no such node exists in the graph @@ -115,7 +119,7 @@ struct Depsgraph { TimeSourceDepsNode *find_time_source() const; IDDepsNode *find_id_node(const ID *id) const; - IDDepsNode *add_id_node(ID *id, const char *name = ""); + IDDepsNode *add_id_node(ID *id, bool do_tag = true, ID *id_cow_hint = NULL); void clear_id_nodes(); /* Add new relationship between two nodes. */ @@ -143,6 +147,11 @@ struct Depsgraph { /* Clear storage used by all nodes. */ void clear_all_nodes(); + /* Copy-on-Write Functionality ........ */ + + /* For given original ID get ID which is created by CoW system. */ + ID *get_cow_id(const ID *id_orig) const; + /* Core Graph Functionality ........... */ /* <ID : IDDepsNode> mapping from ID blocks to nodes representing these @@ -178,12 +187,9 @@ struct Depsgraph { */ SpinLock lock; - /* Layers Visibility .................. */ - - /* Visible layers bitfield, used for skipping invisible objects updates. */ - unsigned int layers; - - // XXX: additional stuff like eval contexts, mempools for allocating nodes from, etc. + /* Scene and layer this dependency graph is built for. */ + Scene *scene; + ViewLayer *view_layer; }; } // namespace DEG |