diff --git a/src/Trade/MeshObjectData2D.cpp b/src/Trade/MeshObjectData2D.cpp index bc52d77fe..8cad69a7a 100644 --- a/src/Trade/MeshObjectData2D.cpp +++ b/src/Trade/MeshObjectData2D.cpp @@ -26,6 +26,6 @@ namespace Magnum { namespace Trade { -MeshObjectData2D::MeshObjectData2D(std::vector children, const Matrix3& transformation, UnsignedInt instance, UnsignedInt material): ObjectData2D(std::move(children), transformation, InstanceType::Mesh, instance), _material(material) {} +MeshObjectData2D::MeshObjectData2D(std::vector children, const Matrix3& transformation, UnsignedInt instance, UnsignedInt material): ObjectData2D(std::move(children), transformation, ObjectInstanceType2D::Mesh, instance), _material(material) {} }} diff --git a/src/Trade/MeshObjectData3D.cpp b/src/Trade/MeshObjectData3D.cpp index 905c628e4..b1cf4419e 100644 --- a/src/Trade/MeshObjectData3D.cpp +++ b/src/Trade/MeshObjectData3D.cpp @@ -26,6 +26,6 @@ namespace Magnum { namespace Trade { -MeshObjectData3D::MeshObjectData3D(std::vector children, const Matrix4& transformation, UnsignedInt instance, UnsignedInt material): ObjectData3D(std::move(children), transformation, InstanceType::Mesh, instance), _material(material) {} +MeshObjectData3D::MeshObjectData3D(std::vector children, const Matrix4& transformation, UnsignedInt instance, UnsignedInt material): ObjectData3D(std::move(children), transformation, ObjectInstanceType3D::Mesh, instance), _material(material) {} }} diff --git a/src/Trade/ObjectData2D.cpp b/src/Trade/ObjectData2D.cpp index 098e3655f..84b053c4e 100644 --- a/src/Trade/ObjectData2D.cpp +++ b/src/Trade/ObjectData2D.cpp @@ -26,9 +26,9 @@ namespace Magnum { namespace Trade { -ObjectData2D::ObjectData2D(std::vector children, const Matrix3& transformation, ObjectData2D::InstanceType instanceType, UnsignedInt instance): _children(std::move(children)), _transformation(transformation), _instanceType(instanceType), _instance(instance) {} +ObjectData2D::ObjectData2D(std::vector children, const Matrix3& transformation, ObjectInstanceType2D instanceType, UnsignedInt instance): _children(std::move(children)), _transformation(transformation), _instanceType(instanceType), _instance(instance) {} -ObjectData2D::ObjectData2D(std::vector children, const Matrix3& transformation): _children(children), _transformation(transformation), _instanceType(InstanceType::Empty), _instance(-1) {} +ObjectData2D::ObjectData2D(std::vector children, const Matrix3& transformation): _children(children), _transformation(transformation), _instanceType(ObjectInstanceType2D::Empty), _instance(-1) {} ObjectData2D::ObjectData2D(ObjectData2D&&) = default; @@ -37,16 +37,16 @@ ObjectData2D::~ObjectData2D() = default; ObjectData2D& ObjectData2D::operator=(ObjectData2D&&) = default; #ifndef DOXYGEN_GENERATING_OUTPUT -Debug operator<<(Debug debug, ObjectData2D::InstanceType value) { +Debug operator<<(Debug debug, ObjectInstanceType2D value) { switch(value) { - #define _c(value) case ObjectData2D::InstanceType::value: return debug << "Trade::ObjectData2D::InstanceType::" #value; + #define _c(value) case ObjectInstanceType2D::value: return debug << "Trade::ObjectInstanceType2D::" #value; _c(Camera) _c(Mesh) _c(Empty) #undef _c } - return debug << "ObjectData2D::InstanceType::(invalid)"; + return debug << "Trade::ObjectInstanceType2D::(invalid)"; } #endif diff --git a/src/Trade/ObjectData2D.h b/src/Trade/ObjectData2D.h index 65a61a7f1..98b64bf7f 100644 --- a/src/Trade/ObjectData2D.h +++ b/src/Trade/ObjectData2D.h @@ -25,7 +25,7 @@ */ /** @file - * @brief Class Magnum::Trade::ObjectData2D + * @brief Class @ref Magnum::Trade::ObjectData2D, enum @ref Magnum::Trade::ObjectInstanceType2D */ #include @@ -35,6 +35,23 @@ namespace Magnum { namespace Trade { +/** +@brief Type of instance held by given 2D object + +@see @ref ObjectData2D::instanceType() +*/ +enum class ObjectInstanceType2D: UnsignedByte { + Camera, /**< Camera instance (see CameraData) */ + + /** + * Mesh instance. The data can be cast to @ref MeshObjectData2D to provide + * more information. + */ + Mesh, + + Empty /**< Empty */ +}; + /** @brief Two-dimensional object data @@ -43,19 +60,6 @@ Provides access to object transformation and hierarchy. */ class MAGNUM_EXPORT ObjectData2D { public: - /** @brief Type of instance held by this object */ - enum class InstanceType: UnsignedByte { - Camera, /**< Camera instance (see CameraData) */ - - /** - * Three-dimensional mesh instance. The data can be cast to - * MeshObjectData2D to provide more information. - */ - Mesh, - - Empty /**< Empty */ - }; - /** * @brief Constructor * @param children Child objects @@ -63,7 +67,7 @@ class MAGNUM_EXPORT ObjectData2D { * @param instanceType Instance type * @param instance Instance ID */ - explicit ObjectData2D(std::vector children, const Matrix3& transformation, InstanceType instanceType, UnsignedInt instance); + explicit ObjectData2D(std::vector children, const Matrix3& transformation, ObjectInstanceType2D instanceType, UnsignedInt instance); /** * @brief Constructor for empty instance @@ -98,7 +102,7 @@ class MAGNUM_EXPORT ObjectData2D { * * @see instance() */ - InstanceType instanceType() const { return _instanceType; } + ObjectInstanceType2D instanceType() const { return _instanceType; } /** * @brief Instance ID @@ -110,12 +114,12 @@ class MAGNUM_EXPORT ObjectData2D { private: std::vector _children; Matrix3 _transformation; - InstanceType _instanceType; + ObjectInstanceType2D _instanceType; Int _instance; }; /** @debugoperator{Magnum::Trade::ObjectData2D} */ -Debug MAGNUM_EXPORT operator<<(Debug debug, ObjectData2D::InstanceType value); +Debug MAGNUM_EXPORT operator<<(Debug debug, ObjectInstanceType2D value); }} diff --git a/src/Trade/ObjectData3D.cpp b/src/Trade/ObjectData3D.cpp index 777c2b378..64f6ae72a 100644 --- a/src/Trade/ObjectData3D.cpp +++ b/src/Trade/ObjectData3D.cpp @@ -26,9 +26,9 @@ namespace Magnum { namespace Trade { -ObjectData3D::ObjectData3D(std::vector children, const Matrix4& transformation, ObjectData3D::InstanceType instanceType, UnsignedInt instance): _children(std::move(children)), _transformation(transformation), _instanceType(instanceType), _instance(instance) {} +ObjectData3D::ObjectData3D(std::vector children, const Matrix4& transformation, ObjectInstanceType3D instanceType, UnsignedInt instance): _children(std::move(children)), _transformation(transformation), _instanceType(instanceType), _instance(instance) {} -ObjectData3D::ObjectData3D(std::vector children, const Matrix4& transformation): _children(std::move(children)), _transformation(transformation), _instanceType(InstanceType::Empty), _instance(-1) {} +ObjectData3D::ObjectData3D(std::vector children, const Matrix4& transformation): _children(std::move(children)), _transformation(transformation), _instanceType(ObjectInstanceType3D::Empty), _instance(-1) {} ObjectData3D::ObjectData3D(ObjectData3D&&) = default; @@ -37,9 +37,9 @@ ObjectData3D::~ObjectData3D() = default; ObjectData3D& ObjectData3D::operator=(ObjectData3D&&) = default; #ifndef DOXYGEN_GENERATING_OUTPUT -Debug operator<<(Debug debug, ObjectData3D::InstanceType value) { +Debug operator<<(Debug debug, ObjectInstanceType3D value) { switch(value) { - #define _c(value) case ObjectData3D::InstanceType::value: return debug << "Trade::ObjectData3D::InstanceType::" #value; + #define _c(value) case ObjectInstanceType3D::value: return debug << "Trade::ObjectInstanceType3D::" #value; _c(Camera) _c(Light) _c(Mesh) @@ -47,7 +47,7 @@ Debug operator<<(Debug debug, ObjectData3D::InstanceType value) { #undef _c } - return debug << "ObjectData3D::InstanceType::(invalid)"; + return debug << "Trade::ObjectInstanceType3D::(invalid)"; } #endif diff --git a/src/Trade/ObjectData3D.h b/src/Trade/ObjectData3D.h index 884cafb94..3333b6f90 100644 --- a/src/Trade/ObjectData3D.h +++ b/src/Trade/ObjectData3D.h @@ -25,7 +25,7 @@ */ /** @file - * @brief Class Magnum::Trade::ObjectData3D + * @brief Class @ref Magnum::Trade::ObjectData3D, enum @ref Magnum::Trade::ObjectInstanceType3D */ #include @@ -35,6 +35,25 @@ namespace Magnum { namespace Trade { +/** +@brief Type of instance held by given 3D object + +@see @ref ObjectData3D::type() +*/ +enum class ObjectInstanceType3D: UnsignedByte { + Camera, /**< Camera instance (see CameraData) */ + Light, /**< Light instance (see LightData) */ + + /** + * Mesh instance. The data can be cast to @ref MeshObjectData3D to provide + * more information. + */ + Mesh, + + Empty /**< Empty */ +}; + + /** @brief Three-dimensional object data @@ -43,20 +62,6 @@ Provides access to object transformation and hierarchy. */ class MAGNUM_EXPORT ObjectData3D { public: - /** @brief Type of instance held by this object */ - enum class InstanceType: UnsignedByte { - Camera, /**< Camera instance (see CameraData) */ - Light, /**< Light instance (see LightData) */ - - /** - * Three-dimensional mesh instance. The data can be cast to - * MeshObjectData3D to provide more information. - */ - Mesh, - - Empty /**< Empty */ - }; - /** * @brief Constructor * @param children Child objects @@ -64,7 +69,7 @@ class MAGNUM_EXPORT ObjectData3D { * @param instanceType Instance type * @param instance Instance ID */ - explicit ObjectData3D(std::vector children, const Matrix4& transformation, InstanceType instanceType, UnsignedInt instance); + explicit ObjectData3D(std::vector children, const Matrix4& transformation, ObjectInstanceType3D instanceType, UnsignedInt instance); /** * @brief Constructor for empty instance @@ -99,7 +104,7 @@ class MAGNUM_EXPORT ObjectData3D { * * @see instance() */ - InstanceType instanceType() const { return _instanceType; } + ObjectInstanceType3D instanceType() const { return _instanceType; } /** * @brief Instance ID @@ -111,12 +116,12 @@ class MAGNUM_EXPORT ObjectData3D { private: std::vector _children; Matrix4 _transformation; - InstanceType _instanceType; + ObjectInstanceType3D _instanceType; Int _instance; }; /** @debugoperator{Magnum::Trade::ObjectData3D} */ -Debug MAGNUM_EXPORT operator<<(Debug debug, ObjectData3D::InstanceType value); +Debug MAGNUM_EXPORT operator<<(Debug debug, ObjectInstanceType3D value); }} diff --git a/src/Trade/Test/ObjectData2DTest.cpp b/src/Trade/Test/ObjectData2DTest.cpp index 4161386b4..4806c02fa 100644 --- a/src/Trade/Test/ObjectData2DTest.cpp +++ b/src/Trade/Test/ObjectData2DTest.cpp @@ -42,8 +42,8 @@ ObjectData2DTest::ObjectData2DTest() { void ObjectData2DTest::debug() { std::ostringstream o; - Debug(&o) << ObjectData2D::InstanceType::Empty; - CORRADE_COMPARE(o.str(), "Trade::ObjectData2D::InstanceType::Empty\n"); + Debug(&o) << ObjectInstanceType2D::Empty; + CORRADE_COMPARE(o.str(), "Trade::ObjectInstanceType2D::Empty\n"); } }}} diff --git a/src/Trade/Test/ObjectData3DTest.cpp b/src/Trade/Test/ObjectData3DTest.cpp index 8cb6d1332..ec08578ae 100644 --- a/src/Trade/Test/ObjectData3DTest.cpp +++ b/src/Trade/Test/ObjectData3DTest.cpp @@ -42,8 +42,8 @@ ObjectData3DTest::ObjectData3DTest() { void ObjectData3DTest::debug() { std::ostringstream o; - Debug(&o) << ObjectData3D::InstanceType::Light; - CORRADE_COMPARE(o.str(), "Trade::ObjectData3D::InstanceType::Light\n"); + Debug(&o) << ObjectInstanceType3D::Light; + CORRADE_COMPARE(o.str(), "Trade::ObjectInstanceType3D::Light\n"); } }}}