diff options
author | Sybren A. Stüvel <sybren@blender.org> | 2020-03-06 18:19:35 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@blender.org> | 2020-03-06 18:19:45 +0300 |
commit | eb522af4fec58876ac1b0a73ad9bcdae2d82d33f (patch) | |
tree | 485c6a1fb23b5be256757375e2157378d3a5c61b /source/blender/collada/BlenderContext.cpp | |
parent | ff60dd8b18ed00902e5bdfd36882072db7af8735 (diff) |
Cleanup: move Alembic, AVI, Collada, and USD to `source/blender/io`
This moves the `alembic`, `avi`, `collada`, and `usd` modules into a common
`io` directory.
This also cleans up some `#include "../../{somedir}/{somefile}.h"` by
adding `../../io/{somedir}` to `CMakeLists.txt` and then just using
`#include "{somefile}.h"`.
No functional changes.
Diffstat (limited to 'source/blender/collada/BlenderContext.cpp')
-rw-r--r-- | source/blender/collada/BlenderContext.cpp | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/source/blender/collada/BlenderContext.cpp b/source/blender/collada/BlenderContext.cpp deleted file mode 100644 index a9783a9b9c4..00000000000 --- a/source/blender/collada/BlenderContext.cpp +++ /dev/null @@ -1,156 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -/** \file - * \ingroup collada - */ - -#include <vector> - -#include "BlenderContext.h" -#include "ExportSettings.h" - -#include "BKE_scene.h" - -bool bc_is_base_node(LinkNode *export_set, Object *ob, ViewLayer *view_layer) -{ - Object *root = bc_get_highest_exported_ancestor_or_self(export_set, ob, view_layer); - return (root == ob); -} - -/** - * Returns the highest selected ancestor - * returns NULL if no ancestor is selected - * IMPORTANT: This function expects that all exported objects have set: - * ob->id.tag & LIB_TAG_DOIT - */ -Object *bc_get_highest_exported_ancestor_or_self(LinkNode *export_set, - Object *ob, - ViewLayer *view_layer) -{ - Object *ancestor = ob; - while (ob->parent) { - if (bc_is_in_Export_set(export_set, ob->parent, view_layer)) { - ancestor = ob->parent; - } - ob = ob->parent; - } - return ancestor; -} - -void bc_get_children(std::vector<Object *> &child_set, Object *ob, ViewLayer *view_layer) -{ - Base *base; - for (base = (Base *)view_layer->object_bases.first; base; base = base->next) { - Object *cob = base->object; - if (cob->parent == ob) { - switch (ob->type) { - case OB_MESH: - case OB_CAMERA: - case OB_LAMP: - case OB_EMPTY: - case OB_ARMATURE: - child_set.push_back(cob); - default: - break; - } - } - } -} - -bool bc_is_in_Export_set(LinkNode *export_set, Object *ob, ViewLayer *view_layer) -{ - bool to_export = (BLI_linklist_index(export_set, ob) != -1); - - if (!to_export) { - /* Mark this object as to_export even if it is not in the - export list, but it contains children to export */ - - std::vector<Object *> children; - bc_get_children(children, ob, view_layer); - for (int i = 0; i < children.size(); i++) { - if (bc_is_in_Export_set(export_set, children[i], view_layer)) { - to_export = true; - break; - } - } - } - return to_export; -} - -int bc_is_marked(Object *ob) -{ - return ob && (ob->id.tag & LIB_TAG_DOIT); -} - -void bc_remove_mark(Object *ob) -{ - ob->id.tag &= ~LIB_TAG_DOIT; -} - -void bc_set_mark(Object *ob) -{ - ob->id.tag |= LIB_TAG_DOIT; -} - -BlenderContext::BlenderContext(bContext *C) -{ - context = C; - main = CTX_data_main(C); - scene = CTX_data_scene(C); - view_layer = CTX_data_view_layer(C); - depsgraph = nullptr; // create only when needed -} - -bContext *BlenderContext::get_context() -{ - return context; -} - -Depsgraph *BlenderContext::get_depsgraph() -{ - if (!depsgraph) { - depsgraph = BKE_scene_get_depsgraph(main, scene, view_layer, true); - } - return depsgraph; -} - -Scene *BlenderContext::get_scene() -{ - return scene; -} - -Scene *BlenderContext::get_evaluated_scene() -{ - Scene *scene_eval = DEG_get_evaluated_scene(get_depsgraph()); - return scene_eval; -} - -Object *BlenderContext::get_evaluated_object(Object *ob) -{ - Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); - return ob_eval; -} - -ViewLayer *BlenderContext::get_view_layer() -{ - return view_layer; -} - -Main *BlenderContext::get_main() -{ - return main; -} |