52 matrix4(
float x00,
float x01,
float x02,
float x03,
53 float x10,
float x11,
float x12,
float x13,
54 float x20,
float x21,
float x22,
float x23,
55 float x30,
float x31,
float x32,
float x33);
74 static matrix4 scale(
float s_x,
float s_y,
float s_z,
float s_w);
112 float operator()(
const size_t& k1,
const size_t& k2)
const;
114 float&
operator()(
const size_t& k1,
const size_t& k2);
222 void assert_size(
const size_t& k1,
const size_t& k2)
const;
matrix4 operator+(const matrix4 &m2) const
operator
Definition: matrix4.cpp:133
static matrix4 projection_perspective(float fovy, float aspect, float z_near, float z_far)
build a perspective projection similar to gluPerspective
Definition: matrix4.cpp:362
void translate_internal(const vec3 &translation)
Translated matrix (modify the matrix)
Definition: matrix4.cpp:461
float operator()(const size_t &k1, const size_t &k2) const
Access to the k_th entry (k in [0,3])
Definition: matrix4.cpp:122
static matrix4 projection_look_at(const matrix4 ¤t_matrix, const vec3 &eye, const vec3 ¢er, const vec3 &up)
build a perspective projection similar to gluLookAt see: http://www.opengl.org/sdk/docs/man/xhtml/glu...
Definition: matrix4.cpp:432
float * pointer_unprotected()
fast pointer access
Definition: matrix4.cpp:341
const float * pointer() const
fast pointer access
Definition: matrix4.cpp:337
Matrix 3x3.
Definition: matrix3.hpp:36
matrix1x4 operator-(float s, const matrix1x4 &m)
operator
Definition: matrix1x4.cpp:82
matrix1x4 operator+(float s, const matrix1x4 &m)
operator
Definition: matrix1x4.cpp:61
matrix4 operator*(float s) const
multiply by a scalar operator
Definition: matrix4.cpp:193
static matrix4 zeros()
build zero matrix
Definition: matrix4.cpp:68
float m[16]
internal storage of the matrix
Definition: matrix4.hpp:212
matrix4 product_compontentwise(const matrix4 &m) const
does componentwise multiplication
Definition: matrix4.cpp:300
Matrix 4x4.
Definition: matrix4.hpp:37
static matrix4 projection_frustum(float left, float right, float bottom, float top, float near, float far)
build a perspective projection (frustum) similar to gluPerspective see: http://www.opengl.org/sdk/docs/man/xhtml/glFrustum.xml
Definition: matrix4.cpp:381
matrix1x4 operator*(float s, const matrix1x4 &m)
multiply by a scalar operator
Definition: matrix1x4.cpp:93
static matrix4 identity()
build identity matrix
Definition: matrix4.cpp:61
static matrix4 transformation(const matrix3 &m3, const vec3 &translation)
build from matrix3 and translation
Definition: matrix4.cpp:114
matrix4 & operator*=(float s)
internal *
Definition: matrix4.cpp:279
matrix4 & operator/=(float s)
internal /
Definition: matrix4.cpp:286
std::ostream & operator<<(std::ostream &stream, const matrix1x4 &_m)
output the vector in ostream
Definition: matrix1x4.cpp:182
void assert_size(const size_t &k1, const size_t &k2) const
assert that a size_t belongs to [[0,3]]
Definition: matrix4.cpp:327
static matrix4 rotation(const vec3 &axis, float angle)
build rotation matrix
Definition: matrix4.cpp:77
static matrix4 scale(float s)
build scaling matrix
Definition: matrix4.cpp:91
matrix4 transposed() const
transpose matrix
Definition: matrix4.cpp:354
matrix4 & operator+=(const matrix4 &m)
internal +
Definition: matrix4.cpp:249
Vectors/Points 3D.
Definition: vec3.hpp:36
matrix4 & product_compontentwise_internal(const matrix4 &m)
does componentwise multiplication
Definition: matrix4.cpp:309
matrix4 & operator-=(const matrix4 &m)
internal -
Definition: matrix4.cpp:264
static matrix4 translation(const vec3 &translation)
build translation matrix
Definition: matrix4.cpp:106
matrix4 translated(const vec3 &translation) const
Translated matrix (return of copy of the translated matrix)
Definition: matrix4.cpp:454
matrix4()
empty constructor (identity)
Definition: matrix4.cpp:34
matrix4 operator/(float s) const
divide by a scalar operator
Definition: matrix4.cpp:241
Vectors/Points 4D.
Definition: vec4.hpp:36
matrix4 operator-() const
unary negation
Definition: matrix4.cpp:293
std::vector< float > to_vector() const
convert 4x4 matrix into a 16 vector of float (glMultmatrixf)
Definition: matrix4.cpp:345
static matrix4 projection_orthographic(float left, float right, float bottom, float top, float near, float far)
build an orthographic projection similar to gluPerspective see: http://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xml
Definition: matrix4.cpp:406