Magnum/Trade/AbstractSceneConverter.h file new in 2020.06

Class Magnum::Trade::AbstractSceneConverter, enum Magnum::Trade::SceneConverterFeature, enum set Magnum::Trade::SceneConverterFeatures.

Namespaces

namespace Magnum
Root namespace.
namespace Magnum::Trade
Data format exchange.

Classes

class Magnum::Trade::AbstractSceneConverter new in 2020.06
Base for scene converter plugins.

Enums

enum class SceneConverterFeature: UnsignedInt { ConvertMesh = 1 << 0, ConvertMeshInPlace = 1 << 1, ConvertMeshToFile = 1 << 2, ConvertMeshToData = ConvertMeshToFile|(1 << 3), ConvertMultiple = 1 << 4 new in Git master, ConvertMultipleToFile = 1 << 5 new in Git master, ConvertMultipleToData = ConvertMultipleToFile|(1 << 6) new in Git master, AddScenes = 1 << 7 new in Git master, AddAnimations = 1 << 8 new in Git master, AddLights = 1 << 9 new in Git master, AddCameras = 1 << 10 new in Git master, AddSkins2D = 1 << 11 new in Git master, AddSkins3D = 1 << 12 new in Git master, AddMeshes = 1 << 13 new in Git master, AddMaterials = 1 << 14 new in Git master, AddTextures = 1 << 15 new in Git master, AddImages1D = 1 << 16 new in Git master, AddImages2D = 1 << 17 new in Git master, AddImages3D = 1 << 18 new in Git master, AddCompressedImages1D = 1 << 19 new in Git master, AddCompressedImages2D = 1 << 20 new in Git master, AddCompressedImages3D = 1 << 21 new in Git master, MeshLevels = 1 << 22 new in Git master, ImageLevels = 1 << 23 new in Git master } new in 2020.06
Features supported by a scene converter.
enum class SceneConverterFlag: UnsignedByte { Quiet = 1 << 1, Verbose = 1 << 0 } new in 2020.06
Scene converter flag.
enum class SceneContent: UnsignedInt { Scenes = 1 << 0, Animations = 1 << 1, Lights = 1 << 2, Cameras = 1 << 3, Skins2D = 1 << 4, Skins3D = 1 << 5, Meshes = 1 << 6, Materials = 1 << 7, Textures = 1 << 8, Images1D = 1 << 9, Images2D = 1 << 10, Images3D = 1 << 11, MeshLevels = 1 << 12, ImageLevels = 1 << 13, Names = 1 << 14 } new in Git master
Scene content.

Typedefs

using SceneConverterFeatures = Containers::EnumSet<SceneConverterFeature> new in 2020.06
Features supported by a scene converter.
using SceneConverterFlags = Containers::EnumSet<SceneConverterFlag> new in 2020.06
Scene converter flags.
using SceneContents = Containers::EnumSet<SceneContent> new in Git master
Scene contents.

Functions

auto operator<<(Debug& debug, SceneConverterFeature value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, SceneConverterFeatures value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, SceneConverterFlag value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, SceneConverterFlags value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, SceneContent value) -> Debug& new in Git master
Debug output operator.
auto operator<<(Debug& debug, SceneContents value) -> Debug& new in Git master
Debug output operator.
auto sceneContentsFor(const AbstractImporter& importer) -> SceneContents new in Git master
Scene contents for an importer.
auto sceneContentsFor(const AbstractSceneConverter& converter) -> SceneContents new in Git master
Scene contents supported by a converter.

Defines

#define MAGNUM_TRADE_ABSTRACTSCENECONVERTER_PLUGIN_INTERFACE new in Git master
Scene converter plugin interface.

Define documentation

#define MAGNUM_TRADE_ABSTRACTSCENECONVERTER_PLUGIN_INTERFACE new in Git master

Scene converter plugin interface.

Same string as returned by AbstractSceneConverter::pluginInterface(), meant to be used inside CORRADE_PLUGIN_REGISTER() to avoid having to update the interface string by hand every time the version gets bumped:

CORRADE_PLUGIN_REGISTER(MySceneConverter, MyNamespace::MySceneConverter,
    MAGNUM_TRADE_ABSTRACTSCENECONVERTER_PLUGIN_INTERFACE)

The interface string version gets increased on every ABI break to prevent silent crashes and memory corruption. Plugins built against the previous version will then fail to load, a subsequent rebuild will make them pick up the updated interface string.