cpe::matrix3 Class Reference

List of all members.

Public Member Functions

 matrix3 ()
 empty constructor (identity)
 matrix3 (const double &x00, const double &x01, const double &x02, const double &x10, const double &x11, const double &x12, const double &x20, const double &x21, const double &x22)
 direct constructor with every value
const double & operator() (const size_t &k1, const size_t &k2) const
 Access to the k_th entry (k in [0,3])
double & operator() (const size_t &k1, const size_t &k2)
 Access to the k_th entry (k in [0,3])
const double * pointer () const
 fast pointer access
double * pointer_unprotected ()
 fast pointer access
matrix3operator+= (const matrix3 &m)
 internal +
matrix3operator+= (const double &s)
 internal +
matrix3operator-= (const matrix3 &m)
 internal -
matrix3operator-= (const double &s)
 internal -
matrix3operator*= (const double &s)
 internal *
matrix3operator/= (const double &s)
 internal /
matrix3 operator- () const
 unary negation
matrix3 product_compontentwise (const matrix3 &m) const
 does componentwise mutliplication
matrix3product_compontentwise_internal (const matrix3 &m)
 does componentwise mutliplication
matrix3 transposed () const
 transpose matrix
std::vector< double > to_4d () const
 convert 3x3 matrix into a 4x4 vector of double (glMultmatrixf)

Static Public Member Functions

static matrix3 identity ()
 build identity matrix
static matrix3 zeros ()
 build zero matrix
static matrix3 rotation (const v3 &axis, const double &angle)
 build rotation matrix
static matrix3 scale (const double &s)
 build scaling matrix
static matrix3 scale (const double &s_x, const double &s_y, const double &s_z)
 build scaling matrix

Private Member Functions

void assert_size (const size_t &k1, const size_t &k2) const throw (std::exception)
 assert that a size_t belongs to [[0,3]]

Private Attributes

double m [9]
 internal storage of the matrix

Friends

matrix3 operator+ (const matrix3 &m1, const matrix3 &m2)
 + operator
matrix3 operator+ (const double &s, const matrix3 &m)
 + operator
matrix3 operator+ (const matrix3 &m, const double &s)
 + operator
matrix3 operator- (const matrix3 &m1, const matrix3 &m2)
 
  • operator

matrix3 operator- (const double &s, const matrix3 &m)
 
  • operator

matrix3 operator- (const matrix3 &m, const double &s)
 
  • operator

matrix3 operator* (const double &s, const matrix3 &m)
 multiply by a scalar operator
matrix3 operator* (const matrix3 &m, const double &s)
 multiply by a scalar operator
v3 operator* (const matrix3 &m, const v3 &v)
 multiply matrix with a v3
matrix3 operator* (const matrix3 &m1, const matrix3 &m2)
 matrix mulitplication
matrix3 operator/ (const matrix3 &m, const double &s)
 divide by a scalar operator
std::ostream & operator<< (std::ostream &stream, const matrix3 &m)
 output the vector in ostream

Constructor & Destructor Documentation

cpe::matrix3::matrix3 ( )

empty constructor (identity)

References m.

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

cpe::matrix3::matrix3 ( const double &  x00,
const double &  x01,
const double &  x02,
const double &  x10,
const double &  x11,
const double &  x12,
const double &  x20,
const double &  x21,
const double &  x22 
)

direct constructor with every value

References m.


Member Function Documentation

void cpe::matrix3::assert_size ( const size_t &  k1,
const size_t &  k2 
) const throw (std::exception) [private]

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

References cpe::string_converter::to_string().

Referenced by operator()().

Here is the call graph for this function:

matrix3 cpe::matrix3::identity ( ) [static]

build identity matrix

References matrix3().

Here is the call graph for this function:

const double & cpe::matrix3::operator() ( const size_t &  k1,
const size_t &  k2 
) const

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

References assert_size(), and m.

Here is the call graph for this function:

double & cpe::matrix3::operator() ( const size_t &  k1,
const size_t &  k2 
)

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

References assert_size(), and m.

Here is the call graph for this function:

matrix3 & cpe::matrix3::operator*= ( const double &  s)

internal *

References m.

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

internal +

References m.

matrix3 & cpe::matrix3::operator+= ( const double &  s)

internal +

References m.

matrix3 cpe::matrix3::operator- ( ) const

unary negation

References m, and matrix3().

Here is the call graph for this function:

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

internal -

References m.

matrix3 & cpe::matrix3::operator-= ( const double &  s)

internal -

References m.

matrix3 & cpe::matrix3::operator/= ( const double &  s)

internal /

References m.

const double * cpe::matrix3::pointer ( ) const

fast pointer access

Warning:
unprotected access

References m.

double * cpe::matrix3::pointer_unprotected ( )

fast pointer access

Warning:
unprotected access

References m.

Referenced by cpe::operator*().

matrix3 cpe::matrix3::product_compontentwise ( const matrix3 m) const

does componentwise mutliplication

Returns:
MC_v2d(x*p.x(),y*p.y(),z*p.z())

References m, and matrix3().

Here is the call graph for this function:

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

does componentwise mutliplication

perform p=(p.x()*p2.x(),p.y()*p2.x())

References m.

matrix3 cpe::matrix3::rotation ( const v3 axis,
const double &  angle 
) [static]

build rotation matrix

References matrix3(), and cpe::v3::normalized().

Here is the call graph for this function:

matrix3 cpe::matrix3::scale ( const double &  s_x,
const double &  s_y,
const double &  s_z 
) [static]

build scaling matrix

References matrix3().

Here is the call graph for this function:

matrix3 cpe::matrix3::scale ( const double &  s) [static]

build scaling matrix

References matrix3().

Here is the call graph for this function:

std::vector< double > cpe::matrix3::to_4d ( ) const

convert 3x3 matrix into a 4x4 vector of double (glMultmatrixf)

References m.

matrix3 cpe::matrix3::transposed ( ) const

transpose matrix

References m, and matrix3().

Here is the call graph for this function:

matrix3 cpe::matrix3::zeros ( ) [static]

build zero matrix

References matrix3().

Referenced by cpe::operator*().

Here is the call graph for this function:


Friends And Related Function Documentation

matrix3 operator* ( const double &  s,
const matrix3 m 
) [friend]

multiply by a scalar operator

matrix3 operator* ( const matrix3 m,
const double &  s 
) [friend]

multiply by a scalar operator

v3 operator* ( const matrix3 m,
const v3 v 
) [friend]

multiply matrix with a v3

matrix3 operator* ( const matrix3 m1,
const matrix3 m2 
) [friend]

matrix mulitplication

matrix3 operator+ ( const double &  s,
const matrix3 m 
) [friend]

+ operator

matrix3 operator+ ( const matrix3 m1,
const matrix3 m2 
) [friend]

+ operator

matrix3 operator+ ( const matrix3 m,
const double &  s 
) [friend]

+ operator

matrix3 operator- ( const matrix3 m1,
const matrix3 m2 
) [friend]

  • operator

matrix3 operator- ( const double &  s,
const matrix3 m 
) [friend]

  • operator

matrix3 operator- ( const matrix3 m,
const double &  s 
) [friend]

  • operator

matrix3 operator/ ( const matrix3 m,
const double &  s 
) [friend]

divide by a scalar operator

std::ostream& operator<< ( std::ostream &  stream,
const matrix3 m 
) [friend]

output the vector in ostream


Member Data Documentation


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