Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-01-31 12:18:39 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-01-31 15:00:11 +0300
commit13de53ecc5bea0f49a13dfc560442c2637f9ca37 (patch)
tree2d416be606e5416c0c8e48b17f4d72ca3112ccca /source/blender/depsgraph/intern/depsgraph.h
parent39de1dc342b9f81a7319478b25f1de3255a4e233 (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.h21
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;