transform3d.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef GCU_TRANSFORM_3D_H
00024 #define GCU_TRANSFORM_3D_H
00025
00026 #include "matrix.h"
00027 #include "vector.h"
00028 #include <list>
00029 #include <string>
00030
00031 namespace gcu
00032 {
00033
00039 class Transform3d: private Matrix, private Vector
00040 {
00041 public:
00044 Transform3d ();
00047 Transform3d (Matrix const &m, Vector const &v);
00050 Transform3d (double s);
00053 Transform3d (Vector row1, Vector row2, Vector row3, Vector translation);
00056 Transform3d (double d[3][3], double t[3]);
00057
00060 virtual ~Transform3d ();
00061
00064 Vector operator* (Vector const &);
00065
00068 Transform3d operator* (Transform3d const &);
00069
00072 std::string DescribeAsString() const;
00075 std::string DescribeAsValues() const;
00076
00079 void Normalize();
00080 };
00081
00082 }
00083
00084 #endif // GCU_TRANSFORM_3D_H
00085