# Visualization Library A lightweight C++ OpenGL middleware for 2D/3D graphics | [Home] [Tutorials] [All Classes] [Grouped Classes]

# E:/VisualizationLibrary/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vl/Matrix4.hpp File Reference

`#include <vl/Vector4.hpp>`
`#include <vl/Matrix3.hpp>`

## Classes
class | vl::Matrix4< scalar_type >
| The Matrix4 class is a template class that implements a generic 4x4 matrix, see also vl::dmat4, vl::fmat4, vl::umat4, vl::imat4. More...
## Namespaces
namespace | vl
| Visualization Library namespace.

## Typedefs
typedef Matrix4< GLdouble > | vl::dmat4
| A 4x4 matrix using `GLdouble` precision.
typedef Matrix4< GLfloat > | vl::fmat4
| A 4x4 matrix using `GLfloat` precision.
typedef Matrix4< GLint > | vl::imat4
| A 4x4 matrix using `GLint` precision.
typedef Matrix4< GLuint > | vl::umat4
| A 4x4 matrix using `GLuint` precision.
typedef dmat4 | vl::mat4
| Defined as: `'typedef` `dmat4` `mat4'`. See also VL_PIPELINE_PRECISION.
## Functions
template<typename scalar_type >
Matrix4< scalar_type > | vl::operator* (const Matrix4< scalar_type > &m2, const Matrix4< scalar_type > &m1)
template<typename scalar_type >
Matrix4< scalar_type > | vl::operator+ (scalar_type d, const Matrix4< scalar_type > &m)
template<typename scalar_type >
Matrix4< scalar_type > | vl::operator* (scalar_type d, const Matrix4< scalar_type > &m)
template<typename scalar_type >
Vector4< scalar_type > | vl::operator* (const Matrix4< scalar_type > &m, const Vector4< scalar_type > &v)
| Post multiplication: matrix * column vector.
template<typename scalar_type >
Vector3< scalar_type > | vl::operator* (const Matrix4< scalar_type > &m, const Vector3< scalar_type > &v)
| Post multiplication: matrix * column vector The incoming vector is considered a Vector4<scalar_type> with the component w = 1.
template<typename scalar_type >
Vector2< scalar_type > | vl::operator* (const Matrix4< scalar_type > &m, const Vector2< scalar_type > &v)
| Post multiplication: matrix * column vector The incoming vector is considered a Vector4<scalar_type> with components: z = 0 and w = 1.
template<typename scalar_type >
Vector4< scalar_type > | vl::operator* (const Vector4< scalar_type > &v, const Matrix4< scalar_type > &m)
| Pre multiplication: row vector * matrix.
template<typename scalar_type >
Vector3< scalar_type > | vl::operator* (const Vector3< scalar_type > &v, const Matrix4< scalar_type > &m)
| Pre multiplication: row vector * matrix The incoming vector is considered a Vector4<scalar_type> with the component w = 1.
template<typename scalar_type >
Vector2< scalar_type > | vl::operator* (const Vector2< scalar_type > &v, const Matrix4< scalar_type > &m)
| Pre multiplication: row vector * matrix The incoming vector is considered a Vector4<scalar_type> with components: z = 0 and w = 1.

Visualization Library v2009.08 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Sun Nov 29 11:11:39 2009.
Permission is granted to use this page to write and publish articles regarding Visualization Library.