class new in 2020.06AnySceneConverter
Any scene converter plugin.
Detects file type based on file extension, loads corresponding plugin and then tries to convert the file with it. Supported formats:
- glTF (
*.glb), converted with GltfSceneConverter or any other plugin that provides it
- Stanford (
*.ply), converted with StanfordSceneConverter or any other plugin that provides it
Only converting to files is supported.
This plugin depends on the Trade library and is built if
MAGNUM_WITH_ANYSCENECONVERTER is enabled when building Magnum. To use as a dynamic plugin, load
"AnySceneConverter" via Corrade::
Additionally, if you're using Magnum as a CMake subproject, do the following:
set(MAGNUM_WITH_ANYSCENECONVERTER ON CACHE BOOL "" FORCE) add_subdirectory(magnum EXCLUDE_FROM_ALL) # So the dynamically loaded plugin gets built implicitly add_dependencies(your-app Magnum::AnySceneConverter)
To use as a static plugin or as a dependency of another plugin with CMake, you need to request the
AnySceneConverter component of the
Magnum package and link to the
find_package(Magnum REQUIRED AnySceneConverter) # ... target_link_libraries(your-app PRIVATE Magnum::AnySceneConverter)
On a call to convertToFile() or beginFile(), a target file format is detected from the extension and a corresponding plugin is loaded. After that, flags set via setFlags() and options set through configuration() are propagated to the concrete implementation. A warning is emitted in case an option set is not present in the default configuration of the target plugin.
The features() initially report just SceneConverterFeature::
Calls to the endFile(), add() and related functions are then proxied to the concrete implementation. The abort() function aborts and destroys the internally instantiated plugin; isConverting() works as usual.