Subversion Repositories gelsvn

Rev

Rev 67 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
12 jab 1
#ifndef __CGLA_MAT2X2F_H__
2
#define __CGLA_MAT2X2F_H__
2 bj 3
 
4
#include "Vec2f.h"
5
#include "ArithSqMat2x2Float.h"
6
 
7
 
12 jab 8
namespace CGLA 
9
{
2 bj 10
 
94 bj 11
  /** \brief Two by two float matrix. 
12
 
13
	This class is useful for various 
14
	vector transformations in the plane. */
12 jab 15
  class Mat2x2f: public ArithSqMat2x2Float<Vec2f, Mat2x2f>
16
    {
17
    public:
2 bj 18
 
12 jab 19
      /// Construct a Mat2x2f from two Vec2f vectors.
20
      Mat2x2f(Vec2f _a, Vec2f _b): ArithSqMat2x2Float<Vec2f, Mat2x2f> (_a,_b) {}
2 bj 21
 
12 jab 22
      /// Construct a Mat2x2f from four scalars.
23
      Mat2x2f(float _a, float _b, float _c, float _d): 
24
	ArithSqMat2x2Float<Vec2f, Mat2x2f>(Vec2f(_a,_b),Vec2f(_c,_d)) {}
2 bj 25
 
12 jab 26
      /// Construct the NAN matrix
27
      Mat2x2f() {}
28
 
29
      /// Construct a Mat2x2f from a single scalar
30
      explicit Mat2x2f(float a): ArithSqMat2x2Float<Vec2f, Mat2x2f>(a) {}
2 bj 31
 
32
 
12 jab 33
    };
34
 
2 bj 35
}
36
#endif