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:
authorSybren A. Stüvel <sybren@blender.org>2020-03-06 18:19:35 +0300
committerSybren A. Stüvel <sybren@blender.org>2020-03-06 18:19:45 +0300
commiteb522af4fec58876ac1b0a73ad9bcdae2d82d33f (patch)
tree485c6a1fb23b5be256757375e2157378d3a5c61b /source/blender/collada/MaterialExporter.h
parentff60dd8b18ed00902e5bdfd36882072db7af8735 (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/MaterialExporter.h')
-rw-r--r--source/blender/collada/MaterialExporter.h98
1 files changed, 0 insertions, 98 deletions
diff --git a/source/blender/collada/MaterialExporter.h b/source/blender/collada/MaterialExporter.h
deleted file mode 100644
index be0d939b68a..00000000000
--- a/source/blender/collada/MaterialExporter.h
+++ /dev/null
@@ -1,98 +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
- */
-
-#ifndef __MATERIALEXPORTER_H__
-#define __MATERIALEXPORTER_H__
-
-#include <string>
-#include <vector>
-
-#include "COLLADASWLibraryMaterials.h"
-#include "COLLADASWStreamWriter.h"
-
-extern "C" {
-#include "BKE_material.h"
-#include "DNA_material_types.h"
-#include "DNA_object_types.h"
-#include "DNA_scene_types.h"
-}
-
-#include "GeometryExporter.h"
-#include "collada_internal.h"
-#include "ExportSettings.h"
-#include "Materials.h"
-
-class MaterialsExporter : COLLADASW::LibraryMaterials {
- public:
- MaterialsExporter(COLLADASW::StreamWriter *sw, BCExportSettings &export_settings);
- void exportMaterials(Scene *sce);
- void operator()(Material *ma, Object *ob);
-
- private:
- bool hasMaterials(Scene *sce);
- BCExportSettings &export_settings;
-};
-
-// used in forEachMaterialInScene
-template<class Functor> class ForEachMaterialFunctor {
- std::vector<std::string>
- mMat; // contains list of material names, to avoid duplicate calling of f
- Functor *f;
-
- public:
- ForEachMaterialFunctor(Functor *f) : f(f)
- {
- }
-
- void operator()(Object *ob)
- {
- int a;
- for (a = 0; a < ob->totcol; a++) {
-
- Material *ma = BKE_object_material_get(ob, a + 1);
-
- if (!ma) {
- continue;
- }
-
- std::string translated_id = translate_id(id_name(ma));
- if (find(mMat.begin(), mMat.end(), translated_id) == mMat.end()) {
- (*this->f)(ma, ob);
-
- mMat.push_back(translated_id);
- }
- }
- }
-};
-
-struct MaterialFunctor {
- // calls f for each unique material linked to each object in sce
- // f should have
- // void operator()(Material *ma)
- template<class Functor>
- void forEachMaterialInExportSet(Scene *sce, Functor &f, LinkNode *export_set)
- {
- ForEachMaterialFunctor<Functor> matfunc(&f);
- GeometryFunctor gf;
- gf.forEachMeshObjectInExportSet<ForEachMaterialFunctor<Functor>>(sce, matfunc, export_set);
- }
-};
-
-#endif