25 #ifndef __glfMatrix_hh__
26 #define __glfMatrix_hh__
28 #include "glfCommon.hh"
29 #include <Base/Math/Matrix3x3.hh>
30 #include <Base/Math/Matrix4x4.hh>
31 #include <Geometry/ProjectionParametersPerspective.hh>
32 #include <Base/Math/Utils.hh>
52 glfMatrix(GLfloat m0, GLfloat m1, GLfloat m2, GLfloat m3,
53 GLfloat m4, GLfloat m5, GLfloat m6, GLfloat m7,
54 GLfloat m8, GLfloat m9, GLfloat m10, GLfloat m11,
55 GLfloat m12, GLfloat m13, GLfloat m14, GLfloat m15);
64 void MakeRotation(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
65 void MakeTranslation(GLfloat x, GLfloat y, GLfloat z);
66 void MakeScalation(GLfloat x, GLfloat y, GLfloat z);
67 void MakeFrustum(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat nearVal, GLfloat farVal);
68 void MakeOrtho(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat nearVal, GLfloat farVal);
69 void MakePerspective(GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloat zFar);
70 void MakeLookAt(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ,
71 GLfloat centerX, GLfloat centerY, GLfloat centerZ,
72 GLfloat upX, GLfloat upY, GLfloat upZ);
75 static unsigned int Matrix2DIndexToRep(
unsigned int row,
unsigned int column);
97 void MakeAffineInverse(
const glfMatrix& a);
115 GLfloat nearZZ, GLfloat farZ,
bool useIdealK =
false);
117 GLfloat nearZ, GLfloat farZ,
118 unsigned int x0,
unsigned int y0,
119 unsigned int width,
unsigned int height,
120 bool useIdealK =
false);
122 GLfloat nearZ, GLfloat farZ,
123 unsigned int x0,
unsigned int y0,
124 unsigned int width,
unsigned int height,
125 bool useIdealK =
false,
bool flip =
false);
127 GLfloat nearZ, GLfloat farZ,
bool flip =
false);
153 virtual void Load()
const;
162 for (
int i = 0; i < 4; i++) {
163 for (
int j = 0; j < 4; j++) {
164 s << m.m[i+j*4] <<
" ";
179 #endif // __glfMatrix_hh__
static const glfMatrix IDENTITY
The identity matrix.
camera parameters which define the mapping between rays in the camera coordinate system and pixels in...
friend std::ostream & operator<<(std::ostream &s, const glfMatrix &m)
Vector2< T > & operator*=(Vector2< T > &vec, const T &scalar)
Multiplication operator with scalar argument.
is a 'fixed size' quadratic matrix of dim.
DualQuaternion< T > operator*(const DualQuaternion< T > &l, const T &scalar)
A 4x4 matrix in native OpenGL format.
is a 'fixed size' quadratic matrix of dim.
Camera parameters which define the mapping between rays in the camera coordinate system and pixels in...
const GLfloat * GetArray() const