diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-01-31 12:18:39 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-01-31 15:00:11 +0300 |
commit | 13de53ecc5bea0f49a13dfc560442c2637f9ca37 (patch) | |
tree | 2d416be606e5416c0c8e48b17f4d72ca3112ccca /source/blender/depsgraph/intern/depsgraph.h | |
parent | 39de1dc342b9f81a7319478b25f1de3255a4e233 (diff) |
Depsgraph: Specify whether RNA path to be resolved as entry or exit
Makes it more explicit whether RNA property is used as a source
dependency for something else, or whether some other dependency
is being hooked up to evaluate that property.
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph.h')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph.h b/source/blender/depsgraph/intern/depsgraph.h index 27dd27c923b..a816fcc32df 100644 --- a/source/blender/depsgraph/intern/depsgraph.h +++ b/source/blender/depsgraph/intern/depsgraph.h @@ -103,6 +103,20 @@ struct DepsRelation { void unlink(); }; +/* For queries which gives operation node or key defines whether we are + * interested in a result of the given property or whether we are linking some + * dependency to that property. */ +enum class RNAPointerSource { + /* Query will return pointer to an entry operation of component which is + * responsible for evaluation of the given property. */ + ENTRY, + /* Query will return pointer to an exit operation of component which is + * responsible for evaluation of the given property. + * More precisely, it will return operation at which the property is known + * to be evaluated. */ + EXIT, +}; + /* ********* */ /* Depsgraph */ @@ -125,9 +139,10 @@ struct Depsgraph { * 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 - */ - DepsNode *find_node_from_pointer(const PointerRNA *ptr, const PropertyRNA *prop) const; + * or NULL if no such node exists in the graph */ + DepsNode *find_node_from_pointer(const PointerRNA *ptr, + const PropertyRNA *prop, + RNAPointerSource source) const; TimeSourceDepsNode *add_time_source(); TimeSourceDepsNode *find_time_source() const; |