From 884b315ca57129f6b7ae07441d97245844f48508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 7 Sep 2020 12:20:57 +0200 Subject: [PATCH] AnySceneImporter: support skin import. --- doc/changelog.dox | 3 ++- .../AnySceneImporter/AnySceneImporter.cpp | 11 +++++++++++ src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h | 10 ++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/doc/changelog.dox b/doc/changelog.dox index 2534d0077..3f1ded12a 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -97,7 +97,8 @@ See also: @ref Trade::PhongMaterialData::normalTextureSwizzle() to make new features added for PBR materials recognizable also in classic Phong workflows. - New @ref Trade::SkinData class and @ref Trade::AbstractImporter::skin2D() / - @ref Trade::AbstractImporter::skin3D() family of APIs for skin import + @ref Trade::AbstractImporter::skin3D() family of APIs for skin import, as + well as support in @ref Trade::AnySceneImporter "AnySceneImporter" @subsection changelog-latest-changes Changes and improvements diff --git a/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.cpp b/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.cpp index 872659d0c..27ad517f6 100644 --- a/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.cpp +++ b/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.cpp @@ -41,6 +41,7 @@ #include "Magnum/Trade/ObjectData2D.h" #include "Magnum/Trade/ObjectData3D.h" #include "Magnum/Trade/SceneData.h" +#include "Magnum/Trade/SkinData.h" #include "Magnum/Trade/TextureData.h" #ifdef MAGNUM_BUILD_DEPRECATED @@ -192,6 +193,16 @@ Int AnySceneImporter::doObject3DForName(const std::string& name) { return _in->o std::string AnySceneImporter::doObject3DName(const UnsignedInt id) { return _in->object3DName(id); } Containers::Pointer AnySceneImporter::doObject3D(const UnsignedInt id) { return _in->object3D(id); } +UnsignedInt AnySceneImporter::doSkin2DCount() const { return _in->skin2DCount(); } +Int AnySceneImporter::doSkin2DForName(const std::string& name) { return _in->skin2DForName(name); } +std::string AnySceneImporter::doSkin2DName(const UnsignedInt id) { return _in->skin2DName(id); } +Containers::Optional AnySceneImporter::doSkin2D(const UnsignedInt id) { return _in->skin2D(id); } + +UnsignedInt AnySceneImporter::doSkin3DCount() const { return _in->skin3DCount(); } +Int AnySceneImporter::doSkin3DForName(const std::string& name) { return _in->skin3DForName(name); } +std::string AnySceneImporter::doSkin3DName(const UnsignedInt id) { return _in->skin3DName(id); } +Containers::Optional AnySceneImporter::doSkin3D(const UnsignedInt id) { return _in->skin3D(id); } + UnsignedInt AnySceneImporter::doMeshCount() const { return _in->meshCount(); } Int AnySceneImporter::doMeshForName(const std::string& name) { return _in->meshForName(name); } std::string AnySceneImporter::doMeshName(const UnsignedInt id) { return _in->meshName(id); } diff --git a/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h b/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h index 0de8e0163..43a6d2dad 100644 --- a/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h +++ b/src/MagnumPlugins/AnySceneImporter/AnySceneImporter.h @@ -176,6 +176,16 @@ class MAGNUM_ANYSCENEIMPORTER_EXPORT AnySceneImporter: public AbstractImporter { MAGNUM_ANYSCENEIMPORTER_LOCAL std::string doObject3DName(UnsignedInt id) override; MAGNUM_ANYSCENEIMPORTER_LOCAL Containers::Pointer doObject3D(UnsignedInt id) override; + MAGNUM_ANYSCENEIMPORTER_LOCAL UnsignedInt doSkin2DCount() const override; + MAGNUM_ANYSCENEIMPORTER_LOCAL Int doSkin2DForName(const std::string& name) override; + MAGNUM_ANYSCENEIMPORTER_LOCAL std::string doSkin2DName(UnsignedInt id) override; + MAGNUM_ANYSCENEIMPORTER_LOCAL Containers::Optional doSkin2D(UnsignedInt id) override; + + MAGNUM_ANYSCENEIMPORTER_LOCAL UnsignedInt doSkin3DCount() const override; + MAGNUM_ANYSCENEIMPORTER_LOCAL Int doSkin3DForName(const std::string& name) override; + MAGNUM_ANYSCENEIMPORTER_LOCAL std::string doSkin3DName(UnsignedInt id) override; + MAGNUM_ANYSCENEIMPORTER_LOCAL Containers::Optional doSkin3D(UnsignedInt id) override; + MAGNUM_ANYSCENEIMPORTER_LOCAL UnsignedInt doMeshCount() const override; MAGNUM_ANYSCENEIMPORTER_LOCAL Int doMeshForName(const std::string& name) override; MAGNUM_ANYSCENEIMPORTER_LOCAL std::string doMeshName(UnsignedInt id) override;