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:
Diffstat (limited to 'source/blender/depsgraph/intern/nodes/deg_node_operation.h')
-rw-r--r--source/blender/depsgraph/intern/nodes/deg_node_operation.h26
1 files changed, 17 insertions, 9 deletions
diff --git a/source/blender/depsgraph/intern/nodes/deg_node_operation.h b/source/blender/depsgraph/intern/nodes/deg_node_operation.h
index 7eeb99d984a..71c03945d48 100644
--- a/source/blender/depsgraph/intern/nodes/deg_node_operation.h
+++ b/source/blender/depsgraph/intern/nodes/deg_node_operation.h
@@ -40,13 +40,17 @@ namespace DEG {
struct ComponentDepsNode;
-/* Flags for Depsgraph Nodes */
+/* Flags for Depsgraph Nodes. */
typedef enum eDepsOperation_Flag {
- /* node needs to be updated */
+ /* Node needs to be updated. */
DEPSOP_FLAG_NEEDS_UPDATE = (1 << 0),
-
- /* node was directly modified, causing need for update */
+ /* Node was directly modified, causing need for update. */
DEPSOP_FLAG_DIRECTLY_MODIFIED = (1 << 1),
+ /* Node was updated due to user input. */
+ DEPSOP_FLAG_USER_MODIFIED = (1 << 2),
+
+ /* Set of flags which gets flushed along the relations. */
+ DEPSOP_FLAG_FLUSH = (DEPSOP_FLAG_USER_MODIFIED)
} eDepsOperation_Flag;
/* Atomic Operation - Base type for all operations */
@@ -54,17 +58,21 @@ struct OperationDepsNode : public DepsNode {
OperationDepsNode();
~OperationDepsNode();
- string identifier() const;
+ virtual string identifier() const override;
string full_identifier() const;
- void tag_update(Depsgraph *graph);
+ virtual void tag_update(Depsgraph *graph, eDepsTag_Source source) override;
bool is_noop() const { return (bool)evaluate == false; }
- OperationDepsNode *get_entry_operation() { return this; }
- OperationDepsNode *get_exit_operation() { return this; }
+ virtual OperationDepsNode *get_entry_operation() override {
+ return this;
+ }
+ virtual OperationDepsNode *get_exit_operation() override {
+ return this;
+ }
- /* Set this operation as compoonent's entry/exit operation. */
+ /* Set this operation as component's entry/exit operation. */
void set_as_entry();
void set_as_exit();