GEL
2
GEL is a library for Geometry and Linear Algebra
|
00001 #ifndef __CGLA_MAT3X3D_H__ 00002 #define __CGLA_MAT3X3D_H__ 00003 00004 #include "CGLA.h" 00005 #include "Vec3d.h" 00006 #include "ArithSqMat3x3Float.h" 00007 00008 namespace CGLA { 00009 00014 class Mat3x3d: public ArithSqMat3x3Float<Vec3d, Mat3x3d> 00015 { 00016 public: 00017 00019 Mat3x3d(Vec3d _a, Vec3d _b, Vec3d _c): 00020 ArithSqMat3x3Float<Vec3d, Mat3x3d> (_a,_b,_c) {} 00021 00023 Mat3x3d() {} 00024 00026 explicit Mat3x3d(float a): ArithSqMat3x3Float<Vec3d, Mat3x3d>(a) {} 00027 00028 }; 00029 00031 Mat3x3d rotation_Mat3x3d(CGLA::Axis axis, double angle); 00032 00034 Mat3x3d scaling_Mat3x3d(const Vec3d&); 00035 00036 00038 inline Mat3x3d identity_Mat3x3d() 00039 { 00040 return Mat3x3d(Vec3d(1,0,0), Vec3d(0,1,0), Vec3d(0,0,1)); 00041 } 00042 00043 } 00044 #endif 00045 00046 00047 00048 00049 00050 00051