/**************************************************************************** ** Copyright (c) 2023, Fougue Ltd. ** All rights reserved. ** See license at https://github.com/fougue/mayo/blob/master/LICENSE.txt ****************************************************************************/ #include "../base/io_reader.h" #include "../base/property.h" #include #include namespace Mayo { namespace IO { // Provides factory for Assimp-based Reader objects class AssimpFactoryReader : public FactoryReader { public: Span formats() const override; std::unique_ptr create(Format format) const override; std::unique_ptr createProperties(Format format, PropertyGroup* parentGroup) const override; static std::unique_ptr create() { #ifdef MAYO_HAVE_ASSIMP return std::make_unique(); #else return {}; #endif } }; struct AssimpLib { static std::string_view strName() { return "Assimp"; } #ifdef MAYO_HAVE_ASSIMP static std::string_view strVersion(); static std::string_view strVersionDetails(); #else static std::string_view strVersion() { return ""; } static std::string_view strVersionDetails() { return ""; } #endif }; } // namespace IO } // namespace Mayo