Browse Source

Renamed data access classes in Trade to avoid confusion.

vectorfields
Vladimír Vondruš 14 years ago
parent
commit
7bae1a3f8a
  1. 2
      src/CMakeLists.txt
  2. 12
      src/CubeMapTexture.h
  3. 6
      src/Texture.h
  4. 36
      src/Trade/AbstractImporter.h
  5. 20
      src/Trade/AbstractMaterialData.h
  6. 16
      src/Trade/CameraData.h
  7. 26
      src/Trade/ImageData.h
  8. 16
      src/Trade/LightData.h
  9. 4
      src/Trade/MeshData.cpp
  10. 28
      src/Trade/MeshData.h
  11. 18
      src/Trade/ObjectData.h
  12. 12
      src/Trade/PhongMaterialData.h
  13. 16
      src/Trade/SceneData.h
  14. 16
      src/Trade/TextureData.h

2
src/CMakeLists.txt

@ -21,7 +21,7 @@ set(Magnum_SRCS
TypeTraits.cpp TypeTraits.cpp
Trade/AbstractImporter.cpp Trade/AbstractImporter.cpp
Trade/Mesh.cpp Trade/MeshData.cpp
Math/Math.cpp Math/Math.cpp
) )

12
src/CubeMapTexture.h

@ -65,9 +65,9 @@ class CubeMapTexture: public Texture2D {
inline CubeMapTexture(GLint layer = 0): Texture(layer, Target::CubeMap) {} inline CubeMapTexture(GLint layer = 0): Texture(layer, Target::CubeMap) {}
template<class T> inline void setData(GLint mipLevel, InternalFormat internalFormat, const Math::Vector<GLsizei, Dimensions>& _dimensions, ColorFormat colorFormat, const T* data) = delete; template<class T> inline void setData(GLint mipLevel, InternalFormat internalFormat, const Math::Vector<GLsizei, Dimensions>& _dimensions, ColorFormat colorFormat, const T* data) = delete;
void setData(GLint mipLevel, InternalFormat internalFormat, const Trade::Image<Dimensions>* image) = delete; void setData(GLint mipLevel, InternalFormat internalFormat, const Trade::ImageData<Dimensions>* image) = delete;
template<class T> inline void setSubData(GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Math::Vector<GLsizei, Dimensions>& _dimensions, ColorFormat colorFormat, const T* data) = delete; template<class T> inline void setSubData(GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Math::Vector<GLsizei, Dimensions>& _dimensions, ColorFormat colorFormat, const T* data) = delete;
void setSubData(GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Trade::Image<Dimensions>* image) = delete; void setSubData(GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Trade::ImageData<Dimensions>* image) = delete;
/** /**
* @copydoc Texture::setData(GLint, InternalFormat, const Math::Vector<GLsizei, Dimensions>&, ColorFormat, const T*) * @copydoc Texture::setData(GLint, InternalFormat, const Math::Vector<GLsizei, Dimensions>&, ColorFormat, const T*)
@ -78,10 +78,10 @@ class CubeMapTexture: public Texture2D {
} }
/** /**
* @copydetails Texture::setData(GLint, InternalFormat, const Trade::Image<Dimensions>*) * @copydetails Texture::setData(GLint, InternalFormat, const Trade::ImageData<Dimensions>*)
* @param coordinate Coordinate * @param coordinate Coordinate
*/ */
inline void setData(Coordinate coordinate, GLint mipLevel, InternalFormat internalFormat, const Trade::Image<Dimensions>* image) { inline void setData(Coordinate coordinate, GLint mipLevel, InternalFormat internalFormat, const Trade::ImageData<Dimensions>* image) {
setData(coordinate, mipLevel, internalFormat, image->dimensions(), image->colorFormat(), image->type(), image->data()); setData(coordinate, mipLevel, internalFormat, image->dimensions(), image->colorFormat(), image->type(), image->data());
} }
@ -94,10 +94,10 @@ class CubeMapTexture: public Texture2D {
} }
/** /**
* @copydoc Texture::setSubData(GLint, const Math::Vector<GLint, Dimensions>&, const Trade::Image<Dimensions>*) * @copydoc Texture::setSubData(GLint, const Math::Vector<GLint, Dimensions>&, const Trade::ImageData<Dimensions>*)
* @param coordinate Coordinate * @param coordinate Coordinate
*/ */
inline void setSubData(Coordinate coordinate, GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Trade::Image<Dimensions>* image) { inline void setSubData(Coordinate coordinate, GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Trade::ImageData<Dimensions>* image) {
setSubData(coordinate, mipLevel, offset, image->dimensions(), image->colorFormat(), image->type(), image->data()); setSubData(coordinate, mipLevel, offset, image->dimensions(), image->colorFormat(), image->type(), image->data());
} }

6
src/Texture.h

@ -19,7 +19,7 @@
* @brief Class Magnum::Texture * @brief Class Magnum::Texture
*/ */
#include "Trade/Image.h" #include "Trade/ImageData.h"
namespace Magnum { namespace Magnum {
@ -104,7 +104,7 @@ template<size_t dimensions> class Texture: public AbstractTexture {
* Sets texture data from given image. The image is not deleted * Sets texture data from given image. The image is not deleted
* afterwards. * afterwards.
*/ */
inline void setData(GLint mipLevel, InternalFormat internalFormat, const Trade::Image<Dimensions>* image) { inline void setData(GLint mipLevel, InternalFormat internalFormat, const Trade::ImageData<Dimensions>* image) {
bind(); bind();
DataHelper<Dimensions>::set(target, mipLevel, internalFormat, image->dimensions(), image->colorFormat(), image->type(), image->data()); DataHelper<Dimensions>::set(target, mipLevel, internalFormat, image->dimensions(), image->colorFormat(), image->type(), image->data());
} }
@ -135,7 +135,7 @@ template<size_t dimensions> class Texture: public AbstractTexture {
* Sets texture subdata from given image. The image is not deleted * Sets texture subdata from given image. The image is not deleted
* afterwards. * afterwards.
*/ */
inline void setSubData(GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Trade::Image<Dimensions>* image) { inline void setSubData(GLint mipLevel, const Math::Vector<GLint, Dimensions>& offset, const Trade::ImageData<Dimensions>* image) {
bind(); bind();
DataHelper<Dimensions>::setSub(target, mipLevel, offset, image->dimensions(), image->colorFormat(), image->type(), image->data()); DataHelper<Dimensions>::setSub(target, mipLevel, offset, image->dimensions(), image->colorFormat(), image->type(), image->data());
} }

36
src/Trade/AbstractImporter.h

@ -20,7 +20,7 @@
*/ */
#include "PluginManager/Plugin.h" #include "PluginManager/Plugin.h"
#include "Image.h" #include "ImageData.h"
namespace Magnum { namespace Magnum {
@ -32,13 +32,13 @@ for direct access to the data.
*/ */
namespace Trade { namespace Trade {
class AbstractMaterial; class AbstractMaterialData;
class Camera; class CameraData;
class Light; class LightData;
class Mesh; class MeshData;
class Object; class ObjectData;
class Scene; class SceneData;
class Texture; class TextureData;
/** /**
@brief Base class for importer plugins @brief Base class for importer plugins
@ -111,7 +111,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* *
* Returns pointer to given scene or nullptr, if no such scene exists. * Returns pointer to given scene or nullptr, if no such scene exists.
*/ */
virtual inline Scene* scene(size_t id) { return nullptr; } virtual inline SceneData* scene(size_t id) { return nullptr; }
/** @brief Light count */ /** @brief Light count */
virtual inline size_t lightCount() const { return 0; } virtual inline size_t lightCount() const { return 0; }
@ -122,7 +122,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* *
* Returns pointer to given light or nullptr, if no such light exists. * Returns pointer to given light or nullptr, if no such light exists.
*/ */
virtual inline Light* light(size_t id) { return nullptr; } virtual inline LightData* light(size_t id) { return nullptr; }
/** @brief Camera count */ /** @brief Camera count */
virtual inline size_t cameraCount() const { return 0; } virtual inline size_t cameraCount() const { return 0; }
@ -134,7 +134,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* Returns pointer to given camera or nullptr, if no such camera * Returns pointer to given camera or nullptr, if no such camera
* exists. * exists.
*/ */
virtual inline Camera* camera(size_t id) { return nullptr; } virtual inline CameraData* camera(size_t id) { return nullptr; }
/** @brief Object count (without lights and cameras) */ /** @brief Object count (without lights and cameras) */
virtual inline size_t objectCount() const { return 0; } virtual inline size_t objectCount() const { return 0; }
@ -146,7 +146,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* Returns pointer to given object or nullptr, if no such object * Returns pointer to given object or nullptr, if no such object
* exists. * exists.
*/ */
virtual inline Object* object(size_t id) { return nullptr; } virtual inline ObjectData* object(size_t id) { return nullptr; }
/** @brief Mesh count */ /** @brief Mesh count */
virtual inline size_t meshCount() const { return 0; } virtual inline size_t meshCount() const { return 0; }
@ -157,7 +157,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* *
* Returns pointer to given mesh or nullptr, if no such mesh exists. * Returns pointer to given mesh or nullptr, if no such mesh exists.
*/ */
virtual inline Mesh* mesh(size_t id) { return nullptr; } virtual inline MeshData* mesh(size_t id) { return nullptr; }
/** @brief Material count */ /** @brief Material count */
virtual inline size_t materialCount() const { return 0; } virtual inline size_t materialCount() const { return 0; }
@ -169,7 +169,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* Returns pointer to given material or nullptr, if no such material * Returns pointer to given material or nullptr, if no such material
* exists. * exists.
*/ */
virtual inline AbstractMaterial* material(size_t id) { return nullptr; } virtual inline AbstractMaterialData* material(size_t id) { return nullptr; }
/** @brief Texture count */ /** @brief Texture count */
virtual inline size_t textureCount() const { return 0; } virtual inline size_t textureCount() const { return 0; }
@ -181,7 +181,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* Returns pointer to given texture or nullptr, if no such texture * Returns pointer to given texture or nullptr, if no such texture
* exists. * exists.
*/ */
virtual inline Texture* texture(size_t id) { return nullptr; } virtual inline TextureData* texture(size_t id) { return nullptr; }
/** @brief One-dimensional image count */ /** @brief One-dimensional image count */
virtual inline size_t image1DCount() const { return 0; } virtual inline size_t image1DCount() const { return 0; }
@ -192,7 +192,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* *
* Returns pointer to given image or nullptr, if no such image exists. * Returns pointer to given image or nullptr, if no such image exists.
*/ */
virtual inline Image1D* image1D(size_t id) { return nullptr; } virtual inline ImageData1D* image1D(size_t id) { return nullptr; }
/** @brief Two-dimensional image count */ /** @brief Two-dimensional image count */
virtual inline size_t image2DCount() const { return 0; } virtual inline size_t image2DCount() const { return 0; }
@ -203,7 +203,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* *
* Returns pointer to given image or nullptr, if no such image exists. * Returns pointer to given image or nullptr, if no such image exists.
*/ */
virtual inline Image2D* image2D(size_t id) { return nullptr; } virtual inline ImageData2D* image2D(size_t id) { return nullptr; }
/** @brief Three-dimensional image count */ /** @brief Three-dimensional image count */
virtual inline size_t image3DCount() const { return 0; } virtual inline size_t image3DCount() const { return 0; }
@ -214,7 +214,7 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::Plugin {
* *
* Returns pointer to given image or nullptr, if no such image exists. * Returns pointer to given image or nullptr, if no such image exists.
*/ */
virtual inline Image3D* image3D(size_t id) { return nullptr; } virtual inline ImageData3D* image3D(size_t id) { return nullptr; }
/*@}*/ /*@}*/
}; };

20
src/Trade/AbstractMaterial.h → src/Trade/AbstractMaterialData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_AbstractMaterial_h #ifndef Magnum_Trade_AbstractMaterialData_h
#define Magnum_Trade_AbstractMaterial_h #define Magnum_Trade_AbstractMaterialData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,7 +16,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::AbstractMaterial * @brief Class Magnum::Trade::AbstractMaterialData
*/ */
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
@ -26,11 +26,11 @@ namespace Magnum { namespace Trade {
Subclasses provide access to parameters for given material type. Subclasses provide access to parameters for given material type.
*/ */
class MAGNUM_EXPORT AbstractMaterial { class MAGNUM_EXPORT AbstractMaterialData {
AbstractMaterial(const AbstractMaterial& other) = delete; AbstractMaterialData(const AbstractMaterialData& other) = delete;
AbstractMaterial(AbstractMaterial&& other) = delete; AbstractMaterialData(AbstractMaterialData&& other) = delete;
AbstractMaterial& operator=(const AbstractMaterial& other) = delete; AbstractMaterialData& operator=(const AbstractMaterialData& other) = delete;
AbstractMaterial& operator=(AbstractMaterial&& other) = delete; AbstractMaterialData& operator=(AbstractMaterialData&& other) = delete;
public: public:
/** @brief Material type */ /** @brief Material type */
@ -42,10 +42,10 @@ class MAGNUM_EXPORT AbstractMaterial {
* @brief Constructor * @brief Constructor
* @param type Material type * @param type Material type
*/ */
inline AbstractMaterial(Type type): _type(type) {} inline AbstractMaterialData(Type type): _type(type) {}
/** @brief Destructor */ /** @brief Destructor */
virtual ~AbstractMaterial() {} virtual ~AbstractMaterialData() {}
/** @brief Material type */ /** @brief Material type */
inline Type type() const { return _type; } inline Type type() const { return _type; }

16
src/Trade/Camera.h → src/Trade/CameraData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_Camera_h #ifndef Magnum_Trade_CameraData_h
#define Magnum_Trade_Camera_h #define Magnum_Trade_CameraData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,7 +16,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::Camera * @brief Class Magnum::Trade::CameraData
*/ */
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
@ -24,11 +24,11 @@ namespace Magnum { namespace Trade {
/** /**
@brief %Camera @brief %Camera
*/ */
class MAGNUM_EXPORT Camera { class MAGNUM_EXPORT CameraData {
Camera(const Camera& other) = delete; CameraData(const CameraData& other) = delete;
Camera(Camera&& other) = delete; CameraData(CameraData&& other) = delete;
Camera& operator=(const Camera& other) = delete; CameraData& operator=(const CameraData& other) = delete;
Camera& operator=(Camera&& other) = delete; CameraData& operator=(CameraData&& other) = delete;
}; };
}} }}

26
src/Trade/Image.h → src/Trade/ImageData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_Image_h #ifndef Magnum_Trade_ImageData_h
#define Magnum_Trade_Image_h #define Magnum_Trade_ImageData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,7 +16,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::Image * @brief Class Magnum::Trade::ImageData
*/ */
#include "AbstractTexture.h" #include "AbstractTexture.h"
@ -29,11 +29,11 @@ namespace Magnum { namespace Trade {
Provides access to image data and additional information about data type and Provides access to image data and additional information about data type and
dimensions. dimensions.
*/ */
template<size_t imageDimensions> class Image { template<size_t imageDimensions> class ImageData {
Image<imageDimensions>(const Image<imageDimensions>& other) = delete; ImageData<imageDimensions>(const ImageData<imageDimensions>& other) = delete;
Image<imageDimensions>(Image<imageDimensions>&& other) = delete; ImageData<imageDimensions>(ImageData<imageDimensions>&& other) = delete;
Image<imageDimensions>& operator=(const Image<imageDimensions>& other) = delete; ImageData<imageDimensions>& operator=(const ImageData<imageDimensions>& other) = delete;
Image<imageDimensions>& operator=(Image<imageDimensions>&& other) = delete; ImageData<imageDimensions>& operator=(ImageData<imageDimensions>&& other) = delete;
public: public:
const static size_t Dimensions = imageDimensions; /**< @brief %Image dimension count */ const static size_t Dimensions = imageDimensions; /**< @brief %Image dimension count */
@ -48,10 +48,10 @@ template<size_t imageDimensions> class Image {
* @attention Note that the image data are not copied on construction, * @attention Note that the image data are not copied on construction,
* but they are deleted on class destruction. * but they are deleted on class destruction.
*/ */
template<class T> Image(const Math::Vector<GLsizei, Dimensions>& dimensions, AbstractTexture::ColorFormat colorFormat, const T* data): _dimensions(dimensions), _colorFormat(colorFormat), _type(TypeTraits<typename TypeTraits<T>::TextureType>::glType()), _data(reinterpret_cast<const char*>(data)) {} template<class T> ImageData(const Math::Vector<GLsizei, Dimensions>& dimensions, AbstractTexture::ColorFormat colorFormat, const T* data): _dimensions(dimensions), _colorFormat(colorFormat), _type(TypeTraits<typename TypeTraits<T>::TextureType>::glType()), _data(reinterpret_cast<const char*>(data)) {}
/** @brief Destructor */ /** @brief Destructor */
virtual ~Image() { delete[] _data; } virtual ~ImageData() { delete[] _data; }
/** @brief %Image dimensions */ /** @brief %Image dimensions */
inline const Math::Vector<GLsizei, Dimensions>& dimensions() const { return _dimensions; } inline const Math::Vector<GLsizei, Dimensions>& dimensions() const { return _dimensions; }
@ -73,13 +73,13 @@ template<size_t imageDimensions> class Image {
}; };
/** @brief One-dimensional image */ /** @brief One-dimensional image */
typedef Image<1> Image1D; typedef ImageData<1> ImageData1D;
/** @brief Two-dimensional image */ /** @brief Two-dimensional image */
typedef Image<2> Image2D; typedef ImageData<2> ImageData2D;
/** @brief Three-dimensional image */ /** @brief Three-dimensional image */
typedef Image<3> Image3D; typedef ImageData<3> ImageData3D;
}} }}

16
src/Trade/Light.h → src/Trade/LightData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_Light_h #ifndef Magnum_Trade_LightData_h
#define Magnum_Trade_Light_h #define Magnum_Trade_LightData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,7 +16,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::Light * @brief Class Magnum::Trade::LightData
*/ */
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
@ -24,11 +24,11 @@ namespace Magnum { namespace Trade {
/** /**
@brief %Light @brief %Light
*/ */
class MAGNUM_EXPORT Light { class MAGNUM_EXPORT LightData {
Light(const Light& other) = delete; LightData(const LightData& other) = delete;
Light(Light&& other) = delete; LightData(LightData&& other) = delete;
Light& operator=(const Light& other) = delete; LightData& operator=(const LightData& other) = delete;
Light& operator=(Light&& other) = delete; LightData& operator=(LightData&& other) = delete;
}; };
}} }}

4
src/Trade/Mesh.cpp → src/Trade/MeshData.cpp

@ -13,11 +13,11 @@
GNU Lesser General Public License version 3 for more details. GNU Lesser General Public License version 3 for more details.
*/ */
#include "Mesh.h" #include "MeshData.h"
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
Mesh::~Mesh() { MeshData::~MeshData() {
delete _indices; delete _indices;
for(auto i: _vertices) delete i; for(auto i: _vertices) delete i;
for(auto i: _normals) delete i; for(auto i: _normals) delete i;

28
src/Trade/Mesh.h → src/Trade/MeshData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_Mesh_h #ifndef Magnum_Trade_MeshData_h
#define Magnum_Trade_Mesh_h #define Magnum_Trade_MeshData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,10 +16,10 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::Mesh * @brief Class Magnum::Trade::MeshData
*/ */
#include "../Mesh.h" #include "Mesh.h"
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
@ -29,11 +29,11 @@ namespace Magnum { namespace Trade {
Provides access to mesh data and additional information, such as primitive Provides access to mesh data and additional information, such as primitive
type. type.
*/ */
class MAGNUM_EXPORT Mesh { class MAGNUM_EXPORT MeshData {
Mesh(const Mesh& other) = delete; MeshData(const MeshData& other) = delete;
Mesh(Mesh&& other) = delete; MeshData(MeshData&& other) = delete;
Mesh& operator=(const Mesh& other) = delete; MeshData& operator=(const MeshData& other) = delete;
Mesh& operator=(Mesh&& other) = delete; MeshData& operator=(MeshData&& other) = delete;
public: public:
/** /**
@ -46,13 +46,13 @@ class MAGNUM_EXPORT Mesh {
* @param textureCoords2D Array with two-dimensional texture * @param textureCoords2D Array with two-dimensional texture
* coordinate arrays * coordinate arrays
*/ */
inline Mesh(Magnum::Mesh::Primitive primitive, std::vector<unsigned int>* indices, std::vector<std::vector<Vector3>*> vertices, std::vector<std::vector<Vector3>*> normals, std::vector<std::vector<Vector2>*> textureCoords2D): _primitive(primitive), _indices(indices), _vertices(vertices), _normals(normals), _textureCoords2D(textureCoords2D) {} inline MeshData(Mesh::Primitive primitive, std::vector<unsigned int>* indices, std::vector<std::vector<Vector3>*> vertices, std::vector<std::vector<Vector3>*> normals, std::vector<std::vector<Vector2>*> textureCoords2D): _primitive(primitive), _indices(indices), _vertices(vertices), _normals(normals), _textureCoords2D(textureCoords2D) {}
/** @brief Destructor */ /** @brief Destructor */
~Mesh(); ~MeshData();
/** @brief Primitive */ /** @brief Primitive */
inline Magnum::Mesh::Primitive primitive() const { return _primitive; } inline Mesh::Primitive primitive() const { return _primitive; }
/** /**
* @brief Indices * @brief Indices
@ -88,13 +88,13 @@ class MAGNUM_EXPORT Mesh {
/** /**
* @brief 2D texture coordinates * @brief 2D texture coordinates
* @param id ID of texture coordinates array * @param id ID of texture coordinates array
* @return Texture coordinates or nullptr if there is no texture * @return %Texture coordinates or nullptr if there is no texture
* coordinates array with given ID. * coordinates array with given ID.
*/ */
inline std::vector<Vector2>* textureCoords2D(size_t id) { return _textureCoords2D[id]; } inline std::vector<Vector2>* textureCoords2D(size_t id) { return _textureCoords2D[id]; }
private: private:
Magnum::Mesh::Primitive _primitive; Mesh::Primitive _primitive;
std::vector<unsigned int>* _indices; std::vector<unsigned int>* _indices;
std::vector<std::vector<Vector3>*> _vertices, std::vector<std::vector<Vector3>*> _vertices,
_normals; _normals;

18
src/Trade/Object.h → src/Trade/ObjectData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_Object_h #ifndef Magnum_Trade_ObjectData_h
#define Magnum_Trade_Object_h #define Magnum_Trade_ObjectData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,7 +16,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::Object * @brief Class Magnum::Trade::ObjectData
*/ */
#include "Magnum.h" #include "Magnum.h"
@ -28,17 +28,17 @@ namespace Magnum { namespace Trade {
Provides access to object transformation and hierarchy. Provides access to object transformation and hierarchy.
*/ */
class MAGNUM_EXPORT Object { class MAGNUM_EXPORT ObjectData {
Object(const Object& other) = delete; ObjectData(const ObjectData& other) = delete;
Object(Object&& other) = delete; ObjectData(ObjectData&& other) = delete;
Object& operator=(const Object& other) = delete; ObjectData& operator=(const ObjectData& other) = delete;
Object& operator=(Object&& other) = delete; ObjectData& operator=(ObjectData&& other) = delete;
public: public:
/** /**
* @brief Constructor * @brief Constructor
*/ */
Object(size_t parent, const Matrix4& transformation): _parent(parent), _transformation(transformation) {} ObjectData(size_t parent, const Matrix4& transformation): _parent(parent), _transformation(transformation) {}
/** @brief Parent object */ /** @brief Parent object */
inline size_t parent() const { return _parent; } inline size_t parent() const { return _parent; }

12
src/Trade/PhongMaterial.h → src/Trade/PhongMaterialData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_PhongMaterial_h #ifndef Magnum_Trade_PhongMaterialData_h
#define Magnum_Trade_PhongMaterial_h #define Magnum_Trade_PhongMaterialData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,18 +16,18 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::PhongMaterial * @brief Class Magnum::Trade::PhongMaterialData
*/ */
#include "Magnum.h" #include "Magnum.h"
#include "AbstractMaterial.h" #include "AbstractMaterialData.h"
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
/** /**
@brief Phong material @brief Phong material
*/ */
class MAGNUM_EXPORT PhongMaterial: public AbstractMaterial { class MAGNUM_EXPORT PhongMaterialData: public AbstractMaterialData {
public: public:
/** /**
* @brief Constructor * @brief Constructor
@ -36,7 +36,7 @@ class MAGNUM_EXPORT PhongMaterial: public AbstractMaterial {
* @param specularColor Specular color * @param specularColor Specular color
* @param shininess Shininess * @param shininess Shininess
*/ */
PhongMaterial(const Vector3& ambientColor, const Vector3& diffuseColor, const Vector3& specularColor, GLfloat shininess): AbstractMaterial(Phong), _ambientColor(ambientColor), _diffuseColor(diffuseColor), _specularColor(specularColor), _shininess(shininess) {} PhongMaterialData(const Vector3& ambientColor, const Vector3& diffuseColor, const Vector3& specularColor, GLfloat shininess): AbstractMaterialData(Phong), _ambientColor(ambientColor), _diffuseColor(diffuseColor), _specularColor(specularColor), _shininess(shininess) {}
/** @brief Ambient color */ /** @brief Ambient color */
inline Vector3 ambientColor() const { return _ambientColor; } inline Vector3 ambientColor() const { return _ambientColor; }

16
src/Trade/Scene.h → src/Trade/SceneData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_Scene_h #ifndef Magnum_Trade_SceneData_h
#define Magnum_Trade_Scene_h #define Magnum_Trade_SceneData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,7 +16,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::Scene * @brief Class Magnum::Trade::SceneData
*/ */
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
@ -24,11 +24,11 @@ namespace Magnum { namespace Trade {
/** /**
@brief %Scene @brief %Scene
*/ */
class MAGNUM_EXPORT Scene { class MAGNUM_EXPORT SceneData {
Scene(const Scene& other) = delete; SceneData(const SceneData& other) = delete;
Scene(Scene&& other) = delete; SceneData(SceneData&& other) = delete;
Scene& operator=(const Scene& other) = delete; SceneData& operator=(const SceneData& other) = delete;
Scene& operator=(Scene&& other) = delete; SceneData& operator=(SceneData&& other) = delete;
}; };
}} }}

16
src/Trade/Texture.h → src/Trade/TextureData.h

@ -1,5 +1,5 @@
#ifndef Magnum_Trade_Texture_h #ifndef Magnum_Trade_TextureData_h
#define Magnum_Trade_Texture_h #define Magnum_Trade_TextureData_h
/* /*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz> Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
@ -16,7 +16,7 @@
*/ */
/** @file /** @file
* @brief Class Magnum::Trade::Texture * @brief Class Magnum::Trade::TextureData
*/ */
namespace Magnum { namespace Trade { namespace Magnum { namespace Trade {
@ -24,11 +24,11 @@ namespace Magnum { namespace Trade {
/** /**
@brief %Texture @brief %Texture
*/ */
class MAGNUM_EXPORT Texture { class MAGNUM_EXPORT TextureData {
Texture(const Texture& other) = delete; TextureData(const TextureData& other) = delete;
Texture(Texture&& other) = delete; TextureData(TextureData&& other) = delete;
Texture& operator=(const Texture& other) = delete; TextureData& operator=(const TextureData& other) = delete;
Texture& operator=(Texture&& other) = delete; TextureData& operator=(TextureData&& other) = delete;
}; };
}} }}
Loading…
Cancel
Save