diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-09-20 17:16:51 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-09-25 15:40:06 +0300 |
commit | c0855f77c0768ee60fdeb40c1a8636ce080876c2 (patch) | |
tree | c409204bd34b36d3d2b7b879db88c23b7efc48e8 /source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | |
parent | e7507c16e857f18e5fe9d5e908109377acf8576d (diff) |
Depsgraph: Move proxy group and from building to own function
Currently no functional changes, but allows to make it more clear to
implement depsgraph construction from a given subset of scene.
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index d3bd61cc7c3..7dfc863b847 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -609,12 +609,8 @@ void DepsgraphNodeBuilder::build_object(int base_index, build_particle_systems(object, is_visible); } /* Proxy object to copy from. */ - if (object->proxy_from != NULL) { - build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY, is_visible); - } - if (object->proxy_group != NULL) { - build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY, is_visible); - } + build_object_proxy_from(object, is_visible); + build_object_proxy_group(object, is_visible); /* Object dupligroup. */ if (object->instance_collection != NULL) { const bool is_current_parent_collection_visible = is_parent_collection_visible_; @@ -653,6 +649,22 @@ void DepsgraphNodeBuilder::build_object_flags(int base_index, is_from_set)); } +void DepsgraphNodeBuilder::build_object_proxy_from(Object *object, bool is_visible) +{ + if (object->proxy_from == NULL) { + return; + } + build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY, is_visible); +} + +void DepsgraphNodeBuilder::build_object_proxy_group(Object *object, bool is_visible) +{ + if (object->proxy_group == NULL) { + return; + } + build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY, is_visible); +} + void DepsgraphNodeBuilder::build_object_data(Object *object, bool is_object_visible) { if (object->data == NULL) { |