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-07-04 15:43:54 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-07-05 17:06:12 +0300
commitea05edceaa3347e7b847e47862effdab9b42498a (patch)
tree3d79625cb6b7d2f0426663aaecd58cc5bbd41504 /source/blender/depsgraph/intern/node
parent609e16339f13252a2dcaa2a5db4cf45c5e49e80b (diff)
Depsgraph: Make object component conversion more accessible
Diffstat (limited to 'source/blender/depsgraph/intern/node')
-rw-r--r--source/blender/depsgraph/intern/node/deg_node.cc38
-rw-r--r--source/blender/depsgraph/intern/node/deg_node.h5
2 files changed, 43 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/node/deg_node.cc b/source/blender/depsgraph/intern/node/deg_node.cc
index 289c9a76cc7..2c734d14c53 100644
--- a/source/blender/depsgraph/intern/node/deg_node.cc
+++ b/source/blender/depsgraph/intern/node/deg_node.cc
@@ -120,6 +120,44 @@ const char *nodeTypeAsString(NodeType type)
return "UNKNOWN";
}
+NodeType nodeTypeFromSceneComponent(eDepsSceneComponentType component)
+{
+ switch (component) {
+ case DEG_SCENE_COMP_PARAMETERS:
+ return NodeType::PARAMETERS;
+ case DEG_SCENE_COMP_ANIMATION:
+ return NodeType::ANIMATION;
+ case DEG_SCENE_COMP_SEQUENCER:
+ return NodeType::SEQUENCER;
+ }
+ return NodeType::UNDEFINED;
+}
+
+NodeType nodeTypeFromObjectComponent(eDepsObjectComponentType component)
+{
+ switch (component) {
+ case DEG_OB_COMP_PARAMETERS:
+ return NodeType::PARAMETERS;
+ case DEG_OB_COMP_PROXY:
+ return NodeType::PROXY;
+ case DEG_OB_COMP_ANIMATION:
+ return NodeType::ANIMATION;
+ case DEG_OB_COMP_TRANSFORM:
+ return NodeType::TRANSFORM;
+ case DEG_OB_COMP_GEOMETRY:
+ return NodeType::GEOMETRY;
+ case DEG_OB_COMP_EVAL_POSE:
+ return NodeType::EVAL_POSE;
+ case DEG_OB_COMP_BONE:
+ return NodeType::BONE;
+ case DEG_OB_COMP_SHADING:
+ return NodeType::SHADING;
+ case DEG_OB_COMP_CACHE:
+ return NodeType::CACHE;
+ }
+ return NodeType::UNDEFINED;
+}
+
/*******************************************************************************
* Type information.
*/
diff --git a/source/blender/depsgraph/intern/node/deg_node.h b/source/blender/depsgraph/intern/node/deg_node.h
index 65cb5b73c99..5bb9b7fe9ce 100644
--- a/source/blender/depsgraph/intern/node/deg_node.h
+++ b/source/blender/depsgraph/intern/node/deg_node.h
@@ -27,6 +27,8 @@
#include "BLI_utildefines.h"
+#include "DEG_depsgraph_build.h"
+
struct GHash;
struct ID;
struct Scene;
@@ -130,6 +132,9 @@ enum class NodeType {
};
const char *nodeTypeAsString(NodeType type);
+NodeType nodeTypeFromSceneComponent(eDepsSceneComponentType component);
+NodeType nodeTypeFromObjectComponent(eDepsObjectComponentType component);
+
/* All nodes in Depsgraph are descended from this. */
struct Node {
/* Helper class for static typeinfo in subclasses. */