Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes

vl::Matrix3< T_scalar_type > Class Template Reference

The Matrix3 class is a template class that implements a generic 3x3 matrix, see also vl::dmat3, vl::fmat3, vl::umat3, vl::imat3. More...

#include <Matrix3.hpp>

List of all members.

Public Types

typedef T_scalar_type scalar_type

Public Member Functions

template<typename T >
 Matrix3 (const T &m)
 Matrix3 ()
 Matrix3 (T_scalar_type n)
 Matrix3 (T_scalar_type e00, T_scalar_type e01, T_scalar_type e02, T_scalar_type e10, T_scalar_type e11, T_scalar_type e12, T_scalar_type e20, T_scalar_type e21, T_scalar_type e22)
Matrix3fill (T_scalar_type val)
T_scalar_type diff (const Matrix3 &other)
const Vector3< T_scalar_type > & operator[] (unsigned int i) const
Vector3< T_scalar_type > & operator[] (unsigned int i)
Vector2< T_scalar_type > getX () const
Vector2< T_scalar_type > getY () const
Vector2< T_scalar_type > getT () const
Matrix3setX (const Vector2< T_scalar_type > &v)
Matrix3setY (const Vector2< T_scalar_type > &v)
Matrix3setT (const Vector2< T_scalar_type > &v)
bool operator== (const Matrix3 &m) const
bool operator!= (const Matrix3 &m) const
Matrix3operator= (const Matrix3 &m)
Matrix3 operator+ (const Matrix3 &m) const
Matrix3operator+= (const Matrix3 &m)
Matrix3 operator- (const Matrix3 &m) const
Matrix3operator-= (const Matrix3 &m)
Matrix3operator*= (const Matrix3 &m)
Matrix3 operator- () const
Matrix3 operator+ (T_scalar_type d) const
Matrix3operator+= (T_scalar_type d)
Matrix3 operator- (T_scalar_type d) const
Matrix3operator-= (T_scalar_type d)
Matrix3 operator* (T_scalar_type d) const
Matrix3operator*= (T_scalar_type d)
Matrix3 operator/ (T_scalar_type d) const
Matrix3operator/= (T_scalar_type d)
bool isIdentity () const
Matrix2< T_scalar_type > get2x2 () const
void set2x2 (const Matrix2< T_scalar_type > &m)
 This writes only on the upper 2x2 part of the matrix without touching the last row and column.
T_scalar_type * ptr ()
const T_scalar_type * ptr () const
Matrix3transpose ()
Matrix3 getTransposed () const
void getTransposed (Matrix3 &dest) const
bool isNull () const
void setIdentity ()
T_scalar_type getInverse (Matrix3 &dest) const
Matrix3 getInverse (T_scalar_type *determinant=NULL) const
Matrix3invert (T_scalar_type *determinant=NULL)
const T_scalar_type & e (int i, int j) const
T_scalar_type & e (int i, int j)
Matrix3rotate (T_scalar_type degrees)
Matrix3translate (T_scalar_type x, T_scalar_type y)
Matrix3translate (const Vector2< T_scalar_type > &v)
Matrix3scale (T_scalar_type x, T_scalar_type y)

Static Public Member Functions

static Matrix3 rotation (T_scalar_type degrees)
static Matrix3 translation (const Vector2< T_scalar_type > &v)
static Matrix3 translation (T_scalar_type x, T_scalar_type y)
static Matrix3 scaling (T_scalar_type x, T_scalar_type y)

Protected Attributes

Vector3< T_scalar_type > mVec [3]

Detailed Description

template<typename T_scalar_type>
class vl::Matrix3< T_scalar_type >

The Matrix3 class is a template class that implements a generic 3x3 matrix, see also vl::dmat3, vl::fmat3, vl::umat3, vl::imat3.

See also:
Vector4, Vector3, Vector2, Matrix4, Matrix2

Member Typedef Documentation

template<typename T_scalar_type >
typedef T_scalar_type vl::Matrix3< T_scalar_type >::scalar_type

Constructor & Destructor Documentation

template<typename T_scalar_type >
template<typename T >
vl::Matrix3< T_scalar_type >::Matrix3 ( const T &  m ) [inline, explicit]
template<typename T_scalar_type >
vl::Matrix3< T_scalar_type >::Matrix3 (  ) [inline]
template<typename T_scalar_type >
vl::Matrix3< T_scalar_type >::Matrix3 ( T_scalar_type  n ) [inline]
template<typename T_scalar_type >
vl::Matrix3< T_scalar_type >::Matrix3 ( T_scalar_type  e00,
T_scalar_type  e01,
T_scalar_type  e02,
T_scalar_type  e10,
T_scalar_type  e11,
T_scalar_type  e12,
T_scalar_type  e20,
T_scalar_type  e21,
T_scalar_type  e22 
) [inline, explicit]

Member Function Documentation

template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::fill ( T_scalar_type  val ) [inline]
template<typename T_scalar_type >
T_scalar_type vl::Matrix3< T_scalar_type >::diff ( const Matrix3< T_scalar_type > &  other ) [inline]
template<typename T_scalar_type >
const Vector3<T_scalar_type>& vl::Matrix3< T_scalar_type >::operator[] ( unsigned int  i ) const [inline]
template<typename T_scalar_type >
Vector3<T_scalar_type>& vl::Matrix3< T_scalar_type >::operator[] ( unsigned int  i ) [inline]
template<typename T_scalar_type >
Vector2<T_scalar_type> vl::Matrix3< T_scalar_type >::getX (  ) const [inline]
template<typename T_scalar_type >
Vector2<T_scalar_type> vl::Matrix3< T_scalar_type >::getY (  ) const [inline]
template<typename T_scalar_type >
Vector2<T_scalar_type> vl::Matrix3< T_scalar_type >::getT (  ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::setX ( const Vector2< T_scalar_type > &  v ) [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::setY ( const Vector2< T_scalar_type > &  v ) [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::setT ( const Vector2< T_scalar_type > &  v ) [inline]
template<typename T_scalar_type >
bool vl::Matrix3< T_scalar_type >::operator== ( const Matrix3< T_scalar_type > &  m ) const [inline]
template<typename T_scalar_type >
bool vl::Matrix3< T_scalar_type >::operator!= ( const Matrix3< T_scalar_type > &  m ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator= ( const Matrix3< T_scalar_type > &  m ) [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::operator+ ( const Matrix3< T_scalar_type > &  m ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator+= ( const Matrix3< T_scalar_type > &  m ) [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::operator- ( const Matrix3< T_scalar_type > &  m ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator-= ( const Matrix3< T_scalar_type > &  m ) [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator*= ( const Matrix3< T_scalar_type > &  m ) [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::operator- (  ) const [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::operator+ ( T_scalar_type  d ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator+= ( T_scalar_type  d ) [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::operator- ( T_scalar_type  d ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator-= ( T_scalar_type  d ) [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::operator* ( T_scalar_type  d ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator*= ( T_scalar_type  d ) [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::operator/ ( T_scalar_type  d ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::operator/= ( T_scalar_type  d ) [inline]
template<typename T_scalar_type >
bool vl::Matrix3< T_scalar_type >::isIdentity (  ) const [inline]
template<typename T_scalar_type >
Matrix2<T_scalar_type> vl::Matrix3< T_scalar_type >::get2x2 (  ) const [inline]
template<typename T_scalar_type >
void vl::Matrix3< T_scalar_type >::set2x2 ( const Matrix2< T_scalar_type > &  m ) [inline]

This writes only on the upper 2x2 part of the matrix without touching the last row and column.

template<typename T_scalar_type >
T_scalar_type* vl::Matrix3< T_scalar_type >::ptr (  ) [inline]
template<typename T_scalar_type >
const T_scalar_type* vl::Matrix3< T_scalar_type >::ptr (  ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::transpose (  ) [inline]
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::getTransposed (  ) const [inline]
template<typename T_scalar_type >
void vl::Matrix3< T_scalar_type >::getTransposed ( Matrix3< T_scalar_type > &  dest ) const [inline]
template<typename T_scalar_type >
bool vl::Matrix3< T_scalar_type >::isNull (  ) const [inline]
template<typename T_scalar_type >
void vl::Matrix3< T_scalar_type >::setIdentity (  ) [inline]
template<typename T_scalar_type >
T_scalar_type vl::Matrix3< T_scalar_type >::getInverse ( Matrix3< T_scalar_type > &  dest ) const
template<typename T_scalar_type >
Matrix3 vl::Matrix3< T_scalar_type >::getInverse ( T_scalar_type *  determinant = NULL ) const [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::invert ( T_scalar_type *  determinant = NULL ) [inline]
template<typename T_scalar_type >
const T_scalar_type& vl::Matrix3< T_scalar_type >::e ( int  i,
int  j 
) const [inline]
template<typename T_scalar_type >
T_scalar_type& vl::Matrix3< T_scalar_type >::e ( int  i,
int  j 
) [inline]
template<typename T_scalar_type >
Matrix3< T_scalar_type > vl::Matrix3< T_scalar_type >::rotation ( T_scalar_type  degrees ) [static]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::rotate ( T_scalar_type  degrees ) [inline]
template<typename T_scalar_type >
static Matrix3 vl::Matrix3< T_scalar_type >::translation ( const Vector2< T_scalar_type > &  v ) [inline, static]
template<typename T_scalar_type >
static Matrix3 vl::Matrix3< T_scalar_type >::translation ( T_scalar_type  x,
T_scalar_type  y 
) [inline, static]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::translate ( T_scalar_type  x,
T_scalar_type  y 
) [inline]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::translate ( const Vector2< T_scalar_type > &  v ) [inline]
template<typename T_scalar_type >
static Matrix3 vl::Matrix3< T_scalar_type >::scaling ( T_scalar_type  x,
T_scalar_type  y 
) [inline, static]
template<typename T_scalar_type >
Matrix3& vl::Matrix3< T_scalar_type >::scale ( T_scalar_type  x,
T_scalar_type  y 
) [inline]

Member Data Documentation

template<typename T_scalar_type >
Vector3<T_scalar_type> vl::Matrix3< T_scalar_type >::mVec[3] [protected]

The documentation for this class was generated from the following file:

Visualization Library v2010.11.1123 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Thu Nov 18 2010 02:08:06.
Permission is granted to use this page to write and publish articles regarding Visualization Library.