X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Ftransform.h;h=1d0aedddf71b3fe900ffc2b7689008759ef3939e;hp=ee821ce1ccd65c5bfeba13d8e86eb7e5ccaa83c3;hb=HEAD;hpb=9e384cddaf641f25ce6714327e1b4fadfea4632d diff --git a/source/transform.h b/source/transform.h deleted file mode 100644 index ee821ce1..00000000 --- a/source/transform.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef MSP_GL_TRANSFORM_H_ -#define MSP_GL_TRANSFORM_H_ - -#include -#include "matrix.h" - -namespace Msp { -namespace GL { - -/** -Stores a coordinate space transform as individual components. Primarily -intended for loading data from external sources. At runtime transforms -should generally be stored as matrices. -*/ -class Transform -{ -public: - class Loader: public DataFile::ObjectLoader - { - public: - Loader(Transform &); - - private: - void position(float, float, float); - void euler(float, float, float); - void rotation(float, float, float, float); - void scale_uniform(float); - void scale(float, float, float); - }; - - typedef Geometry::Angle Angle; - typedef LinAl::Vector AngleVector3; - -private: - Vector3 position; - AngleVector3 euler; - Vector3 scale; - -public: - Transform(); - - void set_position(const Vector3 &); - void set_euler(const AngleVector3 &); - void set_scale(const Vector3 &); - const Vector3 &get_position() const { return position; } - const AngleVector3 &get_euler() const { return euler; } - const Vector3 &get_scale() const { return scale; } - - Matrix to_matrix() const; -}; - -} // namespace GL -} // namespace Msp - -#endif