/* orxonox - the future of 3D-vertical-scrollers Copyright (C) 2004 orx This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. ### File Specific: main-programmer: Christian Meyer co-programmer: ... */ /*! * @file rotation_OBSOLETE.h * A basic 3D rotation framework * * THIS IS AN OBSOLETE FRAMEWORK, AND WILL BE DELETED SOON * * * Contains classes to handle vectors, lines, rotations and planes */ #ifndef __ROTATION_H_ #define __ROTATION_H_ #include "vector.h" //! 3D rotation (OBSOLETE) /** Class to handle 3-dimensional rotations. Can create a rotation from several inputs, currently stores rotation using a 3x3 Matrix */ class Rotation { public: float m[9]; //!< 3x3 Rotation Matrix Rotation ( const Vector& v); Rotation ( const Vector& axis, float angle); Rotation ( float pitch, float yaw, float roll); Rotation (); ~Rotation () {} Rotation operator* (const Rotation& r); void glmatrix (float* buffer); }; //!< Apply a rotation to a vector Vector rotateVector( const Vector& v, const Rotation& r); #endif /* __ROTATION_H_ */