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_MAT2X2D_H__
2
#define __CGLA_MAT2X2D_H__
2 bj 3
 
4
#include "Vec2d.h"
5
#include "ArithSqMat2x2Float.h"
6
 
7
 
8
namespace CGLA {
9
 
94 bj 10
  /** \brief Two by two double matrix. 
11
 
12
	This class is useful for various 
13
	vector transformations in the plane. */
12 jab 14
  class Mat2x2d: public ArithSqMat2x2Float<Vec2d, Mat2x2d>
15
    {
16
    public:
2 bj 17
 
12 jab 18
      /// Construct a Mat2x2d from two Vec2d vectors.
19
      Mat2x2d(Vec2d a, Vec2d b): ArithSqMat2x2Float<Vec2d, Mat2x2d> (a,b) {}
2 bj 20
 
12 jab 21
      /// Construct a Mat2x2f from four scalars.
22
      Mat2x2d(double a, double b, double c, double d): 
23
	ArithSqMat2x2Float<Vec2d, Mat2x2d>(Vec2d(a,b),Vec2d(c,d)) {}
2 bj 24
 
12 jab 25
      /// Construct the NAN matrix
26
      Mat2x2d() {}
2 bj 27
 
12 jab 28
      /// Construct a Mat2x2d from a single scalar
29
      explicit Mat2x2d(double a): 
30
	ArithSqMat2x2Float<Vec2d, Mat2x2d>(a) {}
31
    };
2 bj 32
 
33
}
34
#endif