Browse Source

Trade: allow objects without materials.

pull/51/head
Vladimír Vondruš 12 years ago
parent
commit
5a79193227
  1. 2
      src/Magnum/Trade/MeshObjectData2D.cpp
  2. 14
      src/Magnum/Trade/MeshObjectData2D.h
  3. 2
      src/Magnum/Trade/MeshObjectData3D.cpp
  4. 14
      src/Magnum/Trade/MeshObjectData3D.h

2
src/Magnum/Trade/MeshObjectData2D.cpp

@ -27,6 +27,6 @@
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
MeshObjectData2D::MeshObjectData2D(std::vector<UnsignedInt> children, const Matrix3& transformation, UnsignedInt instance, UnsignedInt material): ObjectData2D(std::move(children), transformation, ObjectInstanceType2D::Mesh, instance), _material(material) {} MeshObjectData2D::MeshObjectData2D(std::vector<UnsignedInt> children, const Matrix3& transformation, UnsignedInt instance, Int material): ObjectData2D(std::move(children), transformation, ObjectInstanceType2D::Mesh, instance), _material(material) {}
}} }}

14
src/Magnum/Trade/MeshObjectData2D.h

@ -46,11 +46,11 @@ class MAGNUM_EXPORT MeshObjectData2D: public ObjectData2D {
* @param children Child objects * @param children Child objects
* @param transformation Transformation (relative to parent) * @param transformation Transformation (relative to parent)
* @param instance Instance ID * @param instance Instance ID
* @param material Material ID * @param material Material ID or `-1`
* *
* Creates object with mesh instance type. * Creates object with mesh instance type.
*/ */
explicit MeshObjectData2D(std::vector<UnsignedInt> children, const Matrix3& transformation, UnsignedInt instance, UnsignedInt material); explicit MeshObjectData2D(std::vector<UnsignedInt> children, const Matrix3& transformation, UnsignedInt instance, Int material);
/** @brief Copying is not allowed */ /** @brief Copying is not allowed */
MeshObjectData2D(const MeshObjectData2D&) = delete; MeshObjectData2D(const MeshObjectData2D&) = delete;
@ -64,11 +64,15 @@ class MAGNUM_EXPORT MeshObjectData2D: public ObjectData2D {
/** @brief Move assignment */ /** @brief Move assignment */
MeshObjectData2D& operator=(MeshObjectData2D&&) = default; MeshObjectData2D& operator=(MeshObjectData2D&&) = default;
/** @brief Material ID */ /**
UnsignedInt material() const { return _material; } * @brief Material ID
*
* Returns `-1` if the object has no material assigned.
*/
Int material() const { return _material; }
private: private:
UnsignedInt _material; Int _material;
}; };
}} }}

2
src/Magnum/Trade/MeshObjectData3D.cpp

@ -27,6 +27,6 @@
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
MeshObjectData3D::MeshObjectData3D(std::vector<UnsignedInt> children, const Matrix4& transformation, UnsignedInt instance, UnsignedInt material): ObjectData3D(std::move(children), transformation, ObjectInstanceType3D::Mesh, instance), _material(material) {} MeshObjectData3D::MeshObjectData3D(std::vector<UnsignedInt> children, const Matrix4& transformation, UnsignedInt instance, Int material): ObjectData3D(std::move(children), transformation, ObjectInstanceType3D::Mesh, instance), _material(material) {}
}} }}

14
src/Magnum/Trade/MeshObjectData3D.h

@ -46,11 +46,11 @@ class MAGNUM_EXPORT MeshObjectData3D: public ObjectData3D {
* @param children Child objects * @param children Child objects
* @param transformation Transformation (relative to parent) * @param transformation Transformation (relative to parent)
* @param instance Instance ID * @param instance Instance ID
* @param material Material ID * @param material Material ID or `-1`
* *
* Creates object with mesh instance type. * Creates object with mesh instance type.
*/ */
explicit MeshObjectData3D(std::vector<UnsignedInt> children, const Matrix4& transformation, UnsignedInt instance, UnsignedInt material); explicit MeshObjectData3D(std::vector<UnsignedInt> children, const Matrix4& transformation, UnsignedInt instance, Int material);
/** @brief Copying is not allowed */ /** @brief Copying is not allowed */
MeshObjectData3D(const MeshObjectData3D&) = delete; MeshObjectData3D(const MeshObjectData3D&) = delete;
@ -64,11 +64,15 @@ class MAGNUM_EXPORT MeshObjectData3D: public ObjectData3D {
/** @brief Move assignment */ /** @brief Move assignment */
MeshObjectData3D& operator=(MeshObjectData3D&&) = default; MeshObjectData3D& operator=(MeshObjectData3D&&) = default;
/** @brief Material ID */ /**
UnsignedInt material() const { return _material; } * @brief Material ID
*
* Returns `-1` if the object has no material assigned.
*/
Int material() const { return _material; }
private: private:
UnsignedInt _material; Int _material;
}; };
}} }}

Loading…
Cancel
Save