diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-07-04 15:43:54 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-07-05 17:06:12 +0300 |
commit | ea05edceaa3347e7b847e47862effdab9b42498a (patch) | |
tree | 3d79625cb6b7d2f0426663aaecd58cc5bbd41504 /source/blender/depsgraph/intern/node | |
parent | 609e16339f13252a2dcaa2a5db4cf45c5e49e80b (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.cc | 38 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/node/deg_node.h | 5 |
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. */ |