Visualization Library v1.0.3

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes

vl::Matrix2< T_Scalar > Class Template Reference

The Matrix2 class is a template class that implements a generic 2x2 matrix, see also vl::dmat2, vl::fmat2, vl::umat2, vl::imat2. More...

#include <Matrix2.hpp>

List of all members.

Public Types

typedef T_Scalar scalar_type

Public Member Functions

template<typename T >
 Matrix2 (const Matrix2< T > &m)
 Matrix2 ()
 Matrix2 (T_Scalar n)
 Matrix2 (T_Scalar e00, T_Scalar e01, T_Scalar e10, T_Scalar e11)
Matrix2fill (T_Scalar val)
T_Scalar diff (const Matrix2 &other) const
bool operator== (const Matrix2 &m) const
bool operator!= (const Matrix2 &m) const
Matrix2operator= (const Matrix2 &m)
Matrix2 operator+ (const Matrix2 &m) const
Matrix2operator+= (const Matrix2 &m)
Matrix2 operator- (const Matrix2 &m) const
Matrix2operator-= (const Matrix2 &m)
Matrix2operator*= (const Matrix2 &m)
Matrix2 operator- () const
Matrix2 operator+ (T_Scalar d) const
Matrix2operator+= (T_Scalar d)
Matrix2 operator- (T_Scalar d) const
Matrix2operator-= (T_Scalar d)
Matrix2 operator* (T_Scalar d) const
Matrix2operator*= (T_Scalar d)
Matrix2 operator/ (T_Scalar d) const
Matrix2operator/= (T_Scalar d)
bool isIdentity () const
T_Scalar * ptr ()
const T_Scalar * ptr () const
Matrix2transpose ()
Matrix2 getTransposed () const
Matrix2getTransposed (Matrix2 &dest) const
bool isNull () const
Matrix2setNull ()
Matrix2setIdentity ()
T_Scalar getInverse (Matrix2 &dest) const
Matrix2 getInverse (T_Scalar *determinant=NULL) const
Matrix2invert (T_Scalar *determinant=NULL)
Matrix2postMultiply (const Matrix2 &m)
Matrix2preMultiply (const Matrix2 &m)
const T_Scalar & e (int i, int j) const
T_Scalar & e (int i, int j)

Static Public Member Functions

static Matrix2getNull (Matrix2 &out)
static Matrix2 getNull ()
static Matrix2 getIdentity ()
static Matrix2getIdentity (Matrix2 &out)
static Matrix2multiply (Matrix2 &out, const Matrix2 &p, const Matrix2 &q)

Protected Attributes

Vector2< T_Scalar > mVec [2]

Detailed Description

template<typename T_Scalar>
class vl::Matrix2< T_Scalar >

The Matrix2 class is a template class that implements a generic 2x2 matrix, see also vl::dmat2, vl::fmat2, vl::umat2, vl::imat2.

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

Definition at line 49 of file Matrix2.hpp.


Member Typedef Documentation

template<typename T_Scalar>
typedef T_Scalar vl::Matrix2< T_Scalar >::scalar_type

Definition at line 52 of file Matrix2.hpp.


Constructor & Destructor Documentation

template<typename T_Scalar>
template<typename T >
vl::Matrix2< T_Scalar >::Matrix2 ( const Matrix2< T > &  m ) [inline, explicit]

Definition at line 55 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
vl::Matrix2< T_Scalar >::Matrix2 (  ) [inline]
template<typename T_Scalar>
vl::Matrix2< T_Scalar >::Matrix2 ( T_Scalar  n ) [inline, explicit]
template<typename T_Scalar>
vl::Matrix2< T_Scalar >::Matrix2 ( T_Scalar  e00,
T_Scalar  e01,
T_Scalar  e10,
T_Scalar  e11 
) [inline, explicit]

Definition at line 72 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().


Member Function Documentation

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::fill ( T_Scalar  val ) [inline]
template<typename T_Scalar>
T_Scalar vl::Matrix2< T_Scalar >::diff ( const Matrix2< T_Scalar > &  other ) const [inline]

Definition at line 86 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
bool vl::Matrix2< T_Scalar >::operator== ( const Matrix2< T_Scalar > &  m ) const [inline]

Definition at line 98 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::mVec.

Referenced by vl::Matrix2< T_Scalar >::operator!=().

template<typename T_Scalar>
bool vl::Matrix2< T_Scalar >::operator!= ( const Matrix2< T_Scalar > &  m ) const [inline]

Definition at line 103 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::operator==().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator= ( const Matrix2< T_Scalar > &  m ) [inline]

Definition at line 108 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::mVec.

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::operator+ ( const Matrix2< T_Scalar > &  m ) const [inline]

Definition at line 114 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator+= ( const Matrix2< T_Scalar > &  m ) [inline]

Definition at line 123 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::operator- ( const Matrix2< T_Scalar > &  m ) const [inline]

Definition at line 131 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator-= ( const Matrix2< T_Scalar > &  m ) [inline]

Definition at line 140 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator*= ( const Matrix2< T_Scalar > &  m ) [inline]

Definition at line 148 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::postMultiply().

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::operator- (  ) const [inline]

Definition at line 153 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::operator+ ( T_Scalar  d ) const [inline]

Definition at line 162 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator+= ( T_Scalar  d ) [inline]

Definition at line 171 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::operator- ( T_Scalar  d ) const [inline]

Definition at line 179 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator-= ( T_Scalar  d ) [inline]

Definition at line 188 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::operator* ( T_Scalar  d ) const [inline]

Definition at line 196 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator*= ( T_Scalar  d ) [inline]

Definition at line 205 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::operator/ ( T_Scalar  d ) const [inline]

Definition at line 213 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::operator/= ( T_Scalar  d ) [inline]

Definition at line 223 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
bool vl::Matrix2< T_Scalar >::isIdentity (  ) const [inline]

Definition at line 232 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::ptr().

template<typename T_Scalar>
T_Scalar* vl::Matrix2< T_Scalar >::ptr (  ) [inline]
template<typename T_Scalar>
const T_Scalar* vl::Matrix2< T_Scalar >::ptr (  ) const [inline]

Definition at line 243 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::transpose (  ) [inline]

Definition at line 248 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::getTransposed (  ) const [inline]

Definition at line 261 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::getTransposed ( Matrix2< T_Scalar > &  dest ) const [inline]

Definition at line 270 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::e().

template<typename T_Scalar>
bool vl::Matrix2< T_Scalar >::isNull (  ) const [inline]

Definition at line 278 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::mVec.

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::setNull (  ) [inline]

Definition at line 287 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::fill().

template<typename T_Scalar>
static Matrix2& vl::Matrix2< T_Scalar >::getNull ( Matrix2< T_Scalar > &  out ) [inline, static]

Definition at line 293 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::fill().

template<typename T_Scalar>
static Matrix2 vl::Matrix2< T_Scalar >::getNull (  ) [inline, static]

Definition at line 299 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::Matrix2().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::setIdentity (  ) [inline]
template<typename T_Scalar>
static Matrix2 vl::Matrix2< T_Scalar >::getIdentity (  ) [inline, static]

Definition at line 315 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::Matrix2().

template<typename T_Scalar>
static Matrix2& vl::Matrix2< T_Scalar >::getIdentity ( Matrix2< T_Scalar > &  out ) [inline, static]

Definition at line 320 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::setIdentity().

template<typename T_Scalar>
T_Scalar vl::Matrix2< T_Scalar >::getInverse ( Matrix2< T_Scalar > &  dest ) const [inline]
template<typename T_Scalar>
Matrix2 vl::Matrix2< T_Scalar >::getInverse ( T_Scalar *  determinant = NULL ) const [inline]

Definition at line 353 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::getInverse().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::invert ( T_Scalar *  determinant = NULL ) [inline]

Definition at line 362 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::getInverse().

template<typename T_Scalar>
static Matrix2& vl::Matrix2< T_Scalar >::multiply ( Matrix2< T_Scalar > &  out,
const Matrix2< T_Scalar > &  p,
const Matrix2< T_Scalar > &  q 
) [inline, static]
template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::postMultiply ( const Matrix2< T_Scalar > &  m ) [inline]

Definition at line 383 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::multiply().

Referenced by vl::Matrix2< T_Scalar >::operator*=().

template<typename T_Scalar>
Matrix2& vl::Matrix2< T_Scalar >::preMultiply ( const Matrix2< T_Scalar > &  m ) [inline]

Definition at line 389 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::multiply().

template<typename T_Scalar>
const T_Scalar& vl::Matrix2< T_Scalar >::e ( int  i,
int  j 
) const [inline]
template<typename T_Scalar>
T_Scalar& vl::Matrix2< T_Scalar >::e ( int  i,
int  j 
) [inline]

Definition at line 397 of file Matrix2.hpp.

References vl::Matrix2< T_Scalar >::mVec.


Member Data Documentation

template<typename T_Scalar>
Vector2<T_Scalar> vl::Matrix2< T_Scalar >::mVec[2] [protected]

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

Visualization Library v1.0.3 Reference Documentation
Copyright Michele Bosi. All rights reserved.
Updated on Tue Feb 7 2017 00:55:06.
Permission is granted to use this page to write and publish articles regarding Visualization Library.