diff options
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph.h')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph.h b/source/blender/depsgraph/intern/depsgraph.h index f72f8dd9311..823a1935e18 100644 --- a/source/blender/depsgraph/intern/depsgraph.h +++ b/source/blender/depsgraph/intern/depsgraph.h @@ -42,9 +42,11 @@ struct ID; struct GHash; +struct Main; struct GSet; struct PointerRNA; struct PropertyRNA; +struct Scene; namespace DEG { @@ -100,7 +102,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 @@ -111,7 +114,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. */ @@ -129,6 +132,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 blocks @@ -157,12 +165,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. + Main *bmain; /* XXX: For until depsgraph has proper ownership. */ + Scene *scene; /* XXX: We really shouldn't do that, but it's required for shader preview. */ }; } // namespace DEG |