Subversion Repositories gelsvn

Rev

Rev 10 | Rev 44 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 10 Rev 12
Line 1... Line 1...
1
#ifndef __CGLA_ARITHSQMATFLOAT_H__
1
#ifndef __CGLA_ARITHSQMATFLOAT_H__
2
#define __CGLA_ARITHSQMATFLOAT_H__
2
#define __CGLA_ARITHSQMATFLOAT_H__
3
 
3
 
4
#include "ArithMatFloat.h"
4
#include "ArithMatFloat.h"
5
 
5
 
6
namespace CGLA {
6
namespace CGLA 
-
 
7
{
7
 
8
 
8
	/** Template for square matrices.
9
  /** Template for square matrices.
9
			Some functions like trace and determinant work only on
10
      Some functions like trace and determinant work only on
10
			square matrices. To express this in the class hierarchy,
11
      square matrices. To express this in the class hierarchy,
11
			ArithSqMatFloat was created. ArithSqMatFloat is derived from ArithMat
12
      ArithSqMatFloat was created. ArithSqMatFloat is derived from ArithMat
Line 42... Line 43...
42
 
43
 
43
		/// Construct 4x4 Matrix from four vectors
44
      /// Construct 4x4 Matrix from four vectors
44
		ArithSqMatFloat(VT _a, VT _b, VT _c, VT _d): 
45
      ArithSqMatFloat(VT _a, VT _b, VT _c, VT _d): 
45
			ArithMatFloat<VT,VT,MT,ROWS>(_a,_b,_c,_d) {}
46
	ArithMatFloat<VT,VT,MT,ROWS>(_a,_b,_c,_d) {}
46
 
47
		
47
		/// Construct matrix from array of values.
-
 
48
		explicit ArithSqMatFloat(const ScalarType* sa) {set(sa);}
-
 
49
		
-
 
50
	public:
48
    public:
51
 
49
 
52
		/** Assignment multiplication of matrices. 
50
      /** Assignment multiplication of matrices. 
53
				This function is not very efficient. This because we need a temporary
51
	  This function is not very efficient. This because we need a temporary
54
				matrix anyway, so it can't really be made efficient. */
52
	  matrix anyway, so it can't really be made efficient. */