GEL
2
GEL is a library for Geometry and Linear Algebra
|
00001 #ifndef __CGLA_MAT3X3F_H__ 00002 #define __CGLA_MAT3X3F_H__ 00003 00004 #include "CGLA.h" 00005 #include "Vec3f.h" 00006 #include "ArithSqMat3x3Float.h" 00007 00008 namespace CGLA 00009 { 00010 00015 class Mat3x3f: public ArithSqMat3x3Float<Vec3f, Mat3x3f> 00016 { 00017 public: 00018 00020 Mat3x3f(Vec3f _a, Vec3f _b, Vec3f _c): 00021 ArithSqMat3x3Float<Vec3f, Mat3x3f> (_a,_b,_c) {} 00022 00024 Mat3x3f() {} 00025 00027 explicit Mat3x3f(float a): ArithSqMat3x3Float<Vec3f, Mat3x3f>(a) {} 00028 00029 }; 00030 00032 Mat3x3f rotation_Mat3x3f(CGLA::Axis axis, float angle); 00033 00035 Mat3x3f scaling_Mat3x3f(const Vec3f&); 00036 00038 inline Mat3x3f identity_Mat3x3f() 00039 { 00040 return Mat3x3f(Vec3f(1,0,0), Vec3f(0,1,0), Vec3f(0,0,1)); 00041 } 00042 00043 } 00044 #endif 00045 00046 00047 00048 00049 00050 00051