cpe::matrix2 Class Reference

Matrix 2x2. More...

Public Member Functions

 matrix2 ()
 empty constructor (identity) More...
 
 matrix2 (float x00, float x01, float x10, float x11)
 direct constructor with every value More...
 
float operator() (const size_t &k1, const size_t &k2) const
 Access to the k_th entry (k in [0,1]) More...
 
float & operator() (const size_t &k1, const size_t &k2)
 Access to the k_th entry (k in [0,1]) More...
 
const float * pointer () const
 fast pointer access More...
 
float * pointer_unprotected ()
 fast pointer access More...
 
matrix2 operator+ (const matrix2 &m2) const
 
  • operator
More...
 
matrix2 operator+ (float s) const
 
  • operator
More...
 
matrix2 operator- (const matrix2 &m2) const
 
  • operator
More...
 
matrix2 operator- (float s) const
 
  • operator
More...
 
matrix2 operator* (float s) const
 multiply by a scalar operator More...
 
vec2 operator* (const vec2 &v) const
 multiply matrix with a v3 More...
 
matrix2 operator* (const matrix2 &m2) const
 matrix mulitplication More...
 
matrix2 operator/ (float s) const
 divide by a scalar operator More...
 
matrix2operator+= (const matrix2 &m)
 internal + More...
 
matrix2operator+= (float s)
 internal + More...
 
matrix2operator-= (const matrix2 &m)
 internal - More...
 
matrix2operator-= (float s)
 internal - More...
 
matrix2operator*= (float s)
 internal * More...
 
matrix2operator/= (float s)
 internal / More...
 
matrix2 operator- () const
 unary negation More...
 
matrix2 product_compontentwise (const matrix2 &m) const
 does componentwise multiplication More...
 
matrix2product_compontentwise_internal (const matrix2 &m)
 does componentwise multiplication More...
 
matrix2 transposed () const
 transpose matrix More...
 
std::vector< float > to_vector () const
 convert 3x3 matrix into a vector of float of size 9 More...
 

Static Public Member Functions

static matrix2 identity ()
 build identity matrix More...
 
static matrix2 zeros ()
 build zero matrix More...
 
static matrix2 rotation (float angle)
 build rotation matrix More...
 
static matrix2 scale (float s)
 build scaling matrix More...
 
static matrix2 scale (float s_x, float s_y)
 build scaling matrix More...
 

Private Member Functions

void assert_size (const size_t &k1, const size_t &k2) const
 assert that a size_t belongs to [[0,1]] More...
 

Private Attributes

float m [4]
 internal storage of the matrix More...
 

Detailed Description

Matrix 2x2.

Constructor & Destructor Documentation

cpe::matrix2::matrix2 ( )

empty constructor (identity)

References m.

Referenced by identity(), operator+(), operator-(), operator/(), product_compontentwise(), rotation(), scale(), transposed(), and zeros().

cpe::matrix2::matrix2 ( float  x00,
float  x01,
float  x10,
float  x11 
)

direct constructor with every value

References m.

Member Function Documentation

void cpe::matrix2::assert_size ( const size_t &  k1,
const size_t &  k2 
) const
private

assert that a size_t belongs to [[0,1]]

Referenced by operator()().

matrix2 cpe::matrix2::identity ( )
static

build identity matrix

References matrix2().

+ Here is the call graph for this function:

float cpe::matrix2::operator() ( const size_t &  k1,
const size_t &  k2 
) const

Access to the k_th entry (k in [0,1])

References assert_size(), and m.

+ Here is the call graph for this function:

float & cpe::matrix2::operator() ( const size_t &  k1,
const size_t &  k2 
)

Access to the k_th entry (k in [0,1])

References assert_size(), and m.

+ Here is the call graph for this function:

matrix2 cpe::matrix2::operator* ( float  s) const

multiply by a scalar operator

vec2 cpe::matrix2::operator* ( const vec2 v) const

multiply matrix with a v3

References m, cpe::vec2::x(), and cpe::vec2::y().

+ Here is the call graph for this function:

matrix2 cpe::matrix2::operator* ( const matrix2 m2) const

matrix mulitplication

References m, pointer_unprotected(), and zeros().

+ Here is the call graph for this function:

matrix2 & cpe::matrix2::operator*= ( float  s)

internal *

References m.

matrix2 cpe::matrix2::operator+ ( const matrix2 m2) const

  • operator

References m, and matrix2().

+ Here is the call graph for this function:

matrix2 cpe::matrix2::operator+ ( float  s) const

  • operator

matrix2 & cpe::matrix2::operator+= ( const matrix2 m)

internal +

References m.

matrix2 & cpe::matrix2::operator+= ( float  s)

internal +

References m.

matrix2 cpe::matrix2::operator- ( const matrix2 m2) const

  • operator

matrix2 cpe::matrix2::operator- ( float  s) const

  • operator

References m, and matrix2().

+ Here is the call graph for this function:

matrix2 cpe::matrix2::operator- ( ) const

unary negation

References m, and matrix2().

+ Here is the call graph for this function:

matrix2 & cpe::matrix2::operator-= ( const matrix2 m)

internal -

References m.

matrix2 & cpe::matrix2::operator-= ( float  s)

internal -

References m.

matrix2 cpe::matrix2::operator/ ( float  s) const

divide by a scalar operator

References m, and matrix2().

+ Here is the call graph for this function:

matrix2 & cpe::matrix2::operator/= ( float  s)

internal /

References m.

const float * cpe::matrix2::pointer ( ) const

fast pointer access

Warning
unprotected access

References m.

Referenced by cpe::operator-(), and cpe::operator<<().

float * cpe::matrix2::pointer_unprotected ( )

fast pointer access

Warning
unprotected access

References m.

Referenced by operator*().

matrix2 cpe::matrix2::product_compontentwise ( const matrix2 m) const

does componentwise multiplication

References m, and matrix2().

+ Here is the call graph for this function:

matrix2 & cpe::matrix2::product_compontentwise_internal ( const matrix2 m)

does componentwise multiplication

References m.

matrix2 cpe::matrix2::rotation ( float  angle)
static

build rotation matrix

References matrix2().

+ Here is the call graph for this function:

matrix2 cpe::matrix2::scale ( float  s)
static

build scaling matrix

References matrix2().

+ Here is the call graph for this function:

matrix2 cpe::matrix2::scale ( float  s_x,
float  s_y 
)
static

build scaling matrix

References matrix2().

+ Here is the call graph for this function:

std::vector< float > cpe::matrix2::to_vector ( ) const

convert 3x3 matrix into a vector of float of size 9

References m.

matrix2 cpe::matrix2::transposed ( ) const

transpose matrix

References m, and matrix2().

+ Here is the call graph for this function:

matrix2 cpe::matrix2::zeros ( )
static

build zero matrix

References matrix2().

Referenced by operator*().

+ Here is the call graph for this function:

Member Data Documentation


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