Magnum::Trade namespace

Data format exchange.

Contains plugin interfaces for importing data of various formats and classes for direct access to the data.

This library is built if WITH_TRADE is enabled when building Magnum. To use this library with CMake, request the Trade component of the Magnum package and link to the Magnum::Trade target:

find_package(Magnum REQUIRED Trade)

# ...
target_link_libraries(your-app PRIVATE Magnum::Trade)

Additional plugins and utilities are built separately. See particular Trade::*Importer and *ImageConverter class documentation, the magnum-imageconverter utility documentation, Downloading and building, Downloading and building plugins, Usage with CMake, Plugin usage with CMake and Loading and using plugins for more information.

Namespaces

namespace OpenGex
OpenGEX structure and property names.

Classes

class AbstractImageConverter
Base for image converter plugins.
class AbstractImporter
Base for importer plugins.
class AbstractMaterialData
Base for material data.
class AbstractSceneConverter new in 2020.06
Base for scene converter plugins.
class AnimationData
Animation clip data.
class AnimationTrackData
Animation track data.
class AnyImageConverter
Any image converter plugin.
class AnyImageImporter
Any image importer plugin.
class AnySceneConverter
Any scene converter plugin.
class AnySceneImporter
Any scene importer plugin.
template<class T>
struct ArrayAllocator new in 2020.06
Growable array allocator to be used in importer plugins.
class AssimpImporter
Assimp importer.
class BasisImageConverter new in 2019.10
Basis Universal image converter plugin.
class BasisImporter new in 2019.10
Basis Universal importer plugin.
class CameraData
Camera data.
class DdsImporter
DDS image importer plugin.
class DevIlImageImporter
DevIL Image importer plugin.
class IcoImporter new in 2020.06
ICO importer plugin.
template<UnsignedInt dimensions>
class ImageData
Image data.
class JpegImageConverter
JPEG image converter plugin.
class JpegImporter
JPEG importer plugin.
class LightData
Light data.
class MeshAttributeData new in 2020.06
Mesh attribute data.
class MeshData new in 2020.06
Mesh data.
class MeshData2D deprecated in 2020.06
Two-dimensional mesh data.
class MeshData3D deprecated in 2020.06
Three-dimensional mesh data.
class MeshIndexData new in 2020.06
Mesh index data.
class MeshObjectData2D
Two-dimensional mesh object data.
class MeshObjectData3D
Three-dimensional mesh object data.
class MeshOptimizerSceneConverter new in 2020.06
MeshOptimizer converter plugin.
class MiniExrImageConverter
OpenEXR image converter plugin using miniexr.
class ObjectData2D
Two-dimensional object data.
class ObjectData3D
Three-dimensional object data.
class ObjImporter
OBJ importer plugin.
class OpenGexImporter
OpenGEX importer.
class PhongMaterialData
Phong material data.
class PngImageConverter
PNG image converter plugin.
class PngImporter
PNG importer plugin.
class PrimitiveImporter new in 2020.06
Primitive importer plugin.
class SceneData
Scene data.
class StanfordImporter
Stanford PLY importer plugin.
class StanfordSceneConverter new in 2020.06
Stanford PLY converter plugin.
class StbImageConverter
Image converter plugin using stb_image_write.
class StbImageImporter
Image importer plugin using stb_image.
class StlImporter new in 2020.06
STL importer plugin.
class TextureData
Texture data.
class TgaImageConverter
TGA image converter plugin.
class TgaImporter
TGA importer plugin.
class TinyGltfImporter
TinyGltf importer plugin.

Enums

enum class ImageConverterFeature: UnsignedByte { ConvertImage = 1 << 0, ConvertCompressedImage = 1 << 1, ConvertFile = 1 << 2, ConvertCompressedFile = 1 << 3, ConvertData = ConvertFile|(1 << 4), ConvertCompressedData = ConvertCompressedFile|(1 << 4) } new in 2020.06
Features supported by an image converter.
enum class ImageConverterFlag: UnsignedByte { Verbose = 1 << 0 } new in 2020.06
Image converter flag.
enum class ImporterFeature: UnsignedByte { OpenData = 1 << 0, OpenState = 1 << 1, FileCallback = 1 << 2 } new in 2020.06
Features supported by an importer.
enum class ImporterFlag: UnsignedByte { Verbose = 1 << 0 } new in 2020.06
Importer flag.
enum class MaterialType: UnsignedByte { Phong }
Material type.
enum class MaterialAlphaMode: UnsignedByte { Opaque, Mask, Blend }
Material alpha mode.
enum class SceneConverterFeature: UnsignedByte { ConvertMesh = 1 << 0, ConvertMeshInPlace = 1 << 1, ConvertMeshToFile = 1 << 2, ConvertMeshToData = ConvertMeshToFile|(1 << 3) } new in 2020.06
Features supported by a scene converter.
enum class SceneConverterFlag: UnsignedByte { Verbose = 1 << 0 } new in 2020.06
Scene converter flag.
enum class AnimationTrackType: UnsignedByte { Bool, Float, UnsignedInt, Int, BoolVector2, BoolVector3, BoolVector4, Vector2, Vector2ui, Vector2i, Vector3, Vector3ui, Vector3i, Vector4, Vector4ui, Vector4i, Complex, Quaternion, DualQuaternion, CubicHermite1D, CubicHermite2D, CubicHermite3D, CubicHermiteComplex, CubicHermiteQuaternion }
Type of animation track data.
enum class AnimationTrackTargetType: UnsignedByte { Translation2D, Translation3D, Rotation2D, Rotation3D, Scaling2D, Scaling3D, Custom = 128 }
Target of an animation track.
enum class CameraType: UnsignedByte { Orthographic2D, Orthographic3D, Perspective3D }
Camera type.
enum class DataFlag: UnsignedByte { Owned = 1 << 0, Mutable = 2 << 0 } new in 2020.06
Data flag.
enum class MeshAttribute: UnsignedShort { Position = 1, Tangent, Bitangent, Normal, TextureCoordinates, Color, ObjectId, Custom = 32768 } new in 2020.06
Mesh attribute name.
enum class ObjectInstanceType2D: UnsignedByte { Camera, Mesh, Empty }
Type of instance held by given 2D object.
enum class ObjectFlag2D: UnsignedByte { HasTranslationRotationScaling = 1 << 0 }
2D object flag
enum class ObjectInstanceType3D: UnsignedByte { Camera, Light, Mesh, Empty }
Type of instance held by given 3D object.
enum class ObjectFlag3D: UnsignedByte { HasTranslationRotationScaling = 1 << 0 }
3D object flag

Typedefs

using ImageConverterFeatures = Containers::EnumSet<ImageConverterFeature> new in 2020.06
Features supported by an image converter.
using ImageConverterFlags = Containers::EnumSet<ImageConverterFlag> new in 2020.06
Image converter flags.
using ImporterFeatures = Containers::EnumSet<ImporterFeature> new in 2020.06
Set of features supported by an importer.
using ImporterFileCallbackPolicy = InputFileCallbackPolicy deprecated in 2019.10
Input file callback policy.
using ImporterFlags = Containers::EnumSet<ImporterFlag> new in 2020.06
Importer flags.
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 DataFlags = Containers::EnumSet<DataFlag> new in 2020.06
Data flags.
using ImageData1D = ImageData<1>
One-dimensional image data.
using ImageData2D = ImageData<2>
Two-dimensional image data.
using ImageData3D = ImageData<3>
Three-dimensional image data.
using ObjectFlags2D = Containers::EnumSet<ObjectFlag2D>
2D object flags
using ObjectFlags3D = Containers::EnumSet<ObjectFlag3D>
3D object flags

Functions

auto operator<<(Debug& debug, ImageConverterFeature value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ImageConverterFeatures value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ImageConverterFlag value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, ImageConverterFlags value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, ImporterFeature value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ImporterFeatures value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ImporterFlag value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, ImporterFlags value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, MaterialType value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, MaterialAlphaMode value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, AbstractMaterialData::Flag value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, AbstractMaterialData::Flags value) -> Debug&
Debug output operator.
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, AnimationTrackType value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, AnimationTrackTargetType value) -> Debug&
Debug output operator.
template<class V, class R = Animation::ResultOf<V>>
auto animationInterpolatorFor(Animation::Interpolation interpolation) -> auto
Animation interpolator function for given interpolation behavior.
auto operator<<(Debug& debug, CameraType value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, DataFlag value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, DataFlags value) -> Debug& new in 2020.06
Debug output operator.
auto operator<<(Debug& debug, LightData::Type value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, MeshAttribute value) -> Debug& new in 2020.06
Debug output operator.
auto isMeshAttributeCustom(MeshAttribute name) -> bool constexpr new in 2020.06
Whether a mesh attribute is custom.
auto meshAttributeCustom(UnsignedShort id) -> MeshAttribute constexpr new in 2020.06
Create a custom mesh attribute.
auto meshAttributeCustom(MeshAttribute name) -> UnsignedShort constexpr new in 2020.06
Get index of a custom mesh attribute.
auto meshAttributeDataNonOwningArray(Containers::ArrayView<const MeshAttributeData> view) -> Containers::Array<MeshAttributeData> new in 2020.06
Create a non-owning array of MeshAttributeData items.
auto operator<<(Debug& debug, ObjectInstanceType2D value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ObjectFlag2D value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ObjectFlags2D value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ObjectInstanceType3D value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ObjectFlag3D value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, ObjectFlags3D value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, PhongMaterialData::Flag value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, TextureData::Type value) -> Debug&
Debug output operator.

Enum documentation

enum class Magnum::Trade::ImageConverterFeature: UnsignedByte new in 2020.06

Features supported by an image converter.

Enumerators
ConvertImage

Conversion to image with different format with AbstractImageConverter::exportToImage()

ConvertCompressedImage

Conversion to compressed image with AbstractImageConverter::exportToCompressedImage()

ConvertFile

Exporting to file with AbstractImageConverter::exportToFile(const ImageView2D&, const std::string&)

ConvertCompressedFile

Exporting to file with AbstractImageConverter::exportToFile(const CompressedImageView2D&, const std::string&)

ConvertData

Exporting to raw data with AbstractImageConverter::exportToData(const ImageView2D&). Implies ImageConverterFeature::ConvertFile.

ConvertCompressedData

Exporting compressed image to raw data with AbstractImageConverter::exportToData(const CompressedImageView2D&). Implies ImageConverterFeature::ConvertCompressedFile.

enum class Magnum::Trade::ImageConverterFlag: UnsignedByte new in 2020.06

Image converter flag.

Enumerators
Verbose

Print verbose diagnostic during import. By default the importer only prints messages on error or when some operation might cause unexpected data modification or loss.

enum class Magnum::Trade::ImporterFeature: UnsignedByte new in 2020.06

Features supported by an importer.

Enumerators
OpenData

Opening files from raw data using AbstractImporter::openData()

OpenState

Opening already loaded state using AbstractImporter::openState()

FileCallback

Specifying callbacks for loading additional files referenced from the main file using AbstractImporter::setFileCallback(). If the importer * doesn't expose this feature, the format is either single-file or loading via callbacks is not supported.

See Loading data from memory, using file callbacks and particular importer documentation for more information.

enum class Magnum::Trade::ImporterFlag: UnsignedByte new in 2020.06

Importer flag.

Enumerators
Verbose

Print verbose diagnostic during import. By default the importer only prints messages on error or when some operation might cause unexpected data modification or loss.

enum class Magnum::Trade::MaterialType: UnsignedByte

Material type.

Enumerators
Phong

Phong shading (see PhongMaterialData)

enum class Magnum::Trade::MaterialAlphaMode: UnsignedByte

Material alpha mode.

Enumerators
Opaque

Alpha value is ignored and the rendered output is fully opaque.

Mask

The rendered output is either fully transparent or fully opaque, depending on the alpha value and specified AbstractMaterialData::alphaMask() value.

Blend

The alpha value is used to combine source and destination colors using additive blending.

enum class Magnum::Trade::SceneConverterFlag: UnsignedByte new in 2020.06

Scene converter flag.

Enumerators
Verbose

Print verbose diagnostic during import. By default the importer only prints messages on error or when some operation might cause unexpected data modification or loss.

enum class Magnum::Trade::AnimationTrackType: UnsignedByte

Type of animation track data.

Enumerators
Bool

bool

Float

Float

UnsignedInt

UnsignedInt

Int

Int

BoolVector2

Math::BoolVector<2>

BoolVector3

Math::BoolVector<3>

BoolVector4

Math::BoolVector<4>

Vector2

Vector2. Usually used for AnimationTrackTargetType::Translation2D and AnimationTrackTargetType::Scaling2D.

Vector2ui

Vector2ui

Vector2i

Vector2i

Vector3

Vector3. Usually used for AnimationTrackTargetType::Translation3D and AnimationTrackTargetType::Scaling3D.

Vector3ui

Vector3ui

Vector3i

Vector3i

Vector4

Vector4

Vector4ui

Vector4ui

Vector4i

Vector4i

Complex

Complex. Usually used for AnimationTrackTargetType::Rotation2D.

Quaternion

Quaternion. Usually used for AnimationTrackTargetType::Rotation3D.

DualQuaternion

DualQuaternion

CubicHermite1D

CubicHermite1D

CubicHermite2D

CubicHermite2D. Usually used for spline-interpolated AnimationTrackTargetType::Translation2D and AnimationTrackTargetType::Scaling2D.

CubicHermite3D

CubicHermite3D. Usually used for spline-interpolated AnimationTrackTargetType::Translation3D and AnimationTrackTargetType::Scaling3D.

CubicHermiteComplex

CubicHermiteComplex. Usually used for spline-interpolated AnimationTrackTargetType::Rotation2D.

CubicHermiteQuaternion

CubicHermiteQuaternion. Usually used for spline-interpolated AnimationTrackTargetType::Rotation3D.

enum class Magnum::Trade::AnimationTrackTargetType: UnsignedByte

Target of an animation track.

Enumerators
Translation2D

Modifies 2D object translation. Type is usually Vector2 or CubicHermite2D for spline-interpolated data.

Translation3D

Modifies 3D object translation. Type is usually Vector3 or CubicHermite3D for spline-interpolated data.

Rotation2D

Modifies 2D object rotation. Type is usually Complex or CubicHermiteComplex for spline-interpolated data.

Rotation3D

Modifies 3D object rotation. Type is usually Quaternion or CubicHermiteQuaternion for spline-interpolated data.

Scaling2D

Modifies 2D object scaling. Type is usually Vector2 or CubicHermite2D for spline-interpolated data.

Scaling3D

Modifies 3D object scaling. Type is usually Vector3 or CubicHermite3D for spline-interpolated data.

Custom

This and all higher values are for importer-specific targets. Can be of any type, AnimationData::trackTarget() might or might not point to an existing object. See documentation of a particular importer for details.

enum class Magnum::Trade::CameraType: UnsignedByte

Camera type.

Enumerators
Orthographic2D

2D orthographic camera

Orthographic3D

3D orthographic camera

Perspective3D

3D perspective camera

enum class Magnum::Trade::DataFlag: UnsignedByte new in 2020.06

Data flag.

Enumerators
Owned

Data is owned by the instance. If this flag is not set, the instance might be for example referencing a memory-mapped file or a constant memory.

Mutable

Data is mutable. If this flag is not set, the instance might be for example referencing a readonly memory-mapped file or a constant memory.

enum class Magnum::Trade::MeshAttribute: UnsignedShort new in 2020.06

Mesh attribute name.

Enumerators
Position

Position. Type is usually VertexFormat::Vector2 for 2D and VertexFormat::Vector3 for 3D, but can be also any of VertexFormat::Vector2h, VertexFormat::Vector3h, VertexFormat::Vector2ub, VertexFormat::Vector2ubNormalized, VertexFormat::Vector2b, VertexFormat::Vector2bNormalized, VertexFormat::Vector2us, VertexFormat::Vector2usNormalized, VertexFormat::Vector2s, VertexFormat::Vector2sNormalized, VertexFormat::Vector3ub, VertexFormat::Vector3ubNormalized, VertexFormat::Vector3b, VertexFormat::Vector3bNormalized, VertexFormat::Vector3us, VertexFormat::Vector3usNormalized, VertexFormat::Vector3s or VertexFormat::Vector3sNormalized. Corresponds to Shaders::Generic::Position.

Tangent

Tangent, optionally including bitangent sign. In the first case the type is usually VertexFormat::Vector3, but can be also VertexFormat::Vector3h, VertexFormat::Vector3bNormalized or VertexFormat::Vector3sNormalized; in the second case the type is VertexFormat::Vector4 (or VertexFormat::Vector4h, VertexFormat::Vector4bNormalized, VertexFormat::Vector4sNormalized) and the fourth component is a sign value (-1.0f or +1.0f) defining handedness of the tangent basis. Reconstruct the MeshAttribute::Bitangent can be then done like this:

Vector3 bitangent = Math::cross(normal, tangent.xyz())*tangent.w();

Corresponds to Shaders::Generic::Tangent or Shaders::Generic::Tangent4.

Bitangent

Bitangent. Type is usually VertexFormat::Vector3, but can be also VertexFormat::Vector3h, VertexFormat::Vector3bNormalized or VertexFormat::Vector3sNormalized. For better storage efficiency, the bitangent can be also reconstructed from the normal and tangent, see MeshAttribute::Tangent for more information. Corresponds to Shaders::Generic::Bitangent.

Normal

Normal. Type is usually VertexFormat::Vector3, but can be also VertexFormat::Vector3h. VertexFormat::Vector3bNormalized or VertexFormat::Vector3sNormalized. Corresponds to Shaders::Generic::Normal.

TextureCoordinates

Texture coordinates. Type is usually VertexFormat::Vector2 for 2D coordinates, but can be also any of VertexFormat::Vector2h, VertexFormat::Vector2ub, VertexFormat::Vector2ubNormalized, VertexFormat::Vector2b, VertexFormat::Vector2bNormalized, VertexFormat::Vector2us, VertexFormat::Vector2usNormalized, VertexFormat::Vector2s or VertexFormat::Vector2sNormalized. Corresponds to Shaders::Generic::TextureCoordinates.

Color

Vertex color. Type is usually VertexFormat::Vector3 or VertexFormat::Vector4, but can be also any of VertexFormat::Vector3h, VertexFormat::Vector4h, VertexFormat::Vector3ubNormalized, VertexFormat::Vector3usNormalized, VertexFormat::Vector4ubNormalized or VertexFormat::Vector4usNormalized. Corresponds to Shaders::Generic::Color3 or Shaders::Generic::Color4.

ObjectId

(Instanced) object ID for editor selection or scene annotation. Type is usually VertexFormat::UnsignedInt, but can be also VertexFormat::UnsignedShort or VertexFormat::UnsignedByte. Corresponds to Shaders::Generic::ObjectId.

Custom

This and all higher values are for importer-specific attributes. Can be of any type. See documentation of a particular importer for details.

enum class Magnum::Trade::ObjectInstanceType2D: UnsignedByte

Type of instance held by given 2D object.

Enumerators
Camera

Camera instance (see CameraData)

Mesh

Mesh instance. The data can be cast to MeshObjectData2D to provide more information.

Empty

Empty

enum class Magnum::Trade::ObjectFlag2D: UnsignedByte

2D object flag

Enumerators
HasTranslationRotationScaling

The object provides separate translation / rotation / scaling properties. The ObjectData2D::transformation() matrix returns them combined, but it's possible to access particular parts of the transformation using ObjectData2D::translation(), ObjectData2D::rotation() and ObjectData2D::scaling().

enum class Magnum::Trade::ObjectInstanceType3D: UnsignedByte

Type of instance held by given 3D object.

Enumerators
Camera

Camera instance (see CameraData)

Light

Light instance (see LightData)

Mesh

Mesh instance. The data can be cast to MeshObjectData3D to provide more information.

Empty

Empty

enum class Magnum::Trade::ObjectFlag3D: UnsignedByte

3D object flag

Enumerators
HasTranslationRotationScaling

The object provides separate translation / rotation / scaling properties. The ObjectData3D::transformation() matrix returns them combined, but it's possible to access particular parts of the transformation using ObjectData3D::translation(), ObjectData3D::rotation() and ObjectData3D::scaling().

Typedef documentation

typedef Containers::EnumSet<ImporterFeature> Magnum::Trade::ImporterFeatures new in 2020.06

Set of features supported by an importer.

typedef ImageData<1> Magnum::Trade::ImageData1D

One-dimensional image data.

typedef ImageData<2> Magnum::Trade::ImageData2D

Two-dimensional image data.

typedef ImageData<3> Magnum::Trade::ImageData3D

Three-dimensional image data.

typedef Containers::EnumSet<ObjectFlag2D> Magnum::Trade::ObjectFlags2D

2D object flags

typedef Containers::EnumSet<ObjectFlag3D> Magnum::Trade::ObjectFlags3D

3D object flags

Function documentation

Debug& Magnum::Trade::operator<<(Debug& debug, ImageConverterFeature value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ImageConverterFeatures value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ImageConverterFlag value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ImageConverterFlags value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ImporterFeature value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ImporterFeatures value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ImporterFlag value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ImporterFlags value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, MaterialType value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, MaterialAlphaMode value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, AbstractMaterialData::Flag value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, SceneConverterFeature value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, SceneConverterFeatures value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, SceneConverterFlag value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, SceneConverterFlags value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, AnimationTrackType value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, AnimationTrackTargetType value)

Debug output operator.

template<class V, class R = Animation::ResultOf<V>>
auto Magnum::Trade::animationInterpolatorFor(Animation::Interpolation interpolation)

Animation interpolator function for given interpolation behavior.

To be used from importer plugins — wrapper around Animation::interpolatorFor(), guaranteeing that the returned function pointer is not instantiated inside the plugin binary to avoid dangling function pointers on plugin unload.

Debug& Magnum::Trade::operator<<(Debug& debug, CameraType value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, DataFlag value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, DataFlags value) new in 2020.06

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, LightData::Type value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, MeshAttribute value) new in 2020.06

Debug output operator.

bool Magnum::Trade::isMeshAttributeCustom(MeshAttribute name) constexpr new in 2020.06

Whether a mesh attribute is custom.

Returns true if name has a value larger or equal to MeshAttribute::Custom, false otherwise.

MeshAttribute Magnum::Trade::meshAttributeCustom(UnsignedShort id) constexpr new in 2020.06

Create a custom mesh attribute.

Returns a custom mesh attribute with index id. The index is expected to be less than the value of MeshAttribute::Custom. Use meshAttributeCustom(MeshAttribute) to get the index back.

UnsignedShort Magnum::Trade::meshAttributeCustom(MeshAttribute name) constexpr new in 2020.06

Get index of a custom mesh attribute.

Inverse to meshAttributeCustom(UnsignedShort). Expects that the attribute is custom.

Containers::Array<MeshAttributeData> Magnum::Trade::meshAttributeDataNonOwningArray(Containers::ArrayView<const MeshAttributeData> view) new in 2020.06

Create a non-owning array of MeshAttributeData items.

Useful when you have the attribute definitions statically defined (for example when the vertex data themselves are already defined at compile time) and don't want to allocate just to pass those to MeshData.

Debug& Magnum::Trade::operator<<(Debug& debug, ObjectInstanceType2D value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ObjectFlag2D value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ObjectFlags2D value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ObjectInstanceType3D value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ObjectFlag3D value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, ObjectFlags3D value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, PhongMaterialData::Flag value)

Debug output operator.

Debug& Magnum::Trade::operator<<(Debug& debug, TextureData::Type value)

Debug output operator.