public

Inheritance Graph

graph BT
	_Matrix3x3
	click _Matrix3x3 "classGeometry_1_1__Matrix3x3"

Description

3*3 matrix. designed to be used in SRTs where the 3x3 matrix is always othonormal. the matrix gets re-orthonormalized aftersome number of multiplications. so the matrix can not be used for other purposes.

[ _Matrix3x3 ]

Main

   
   
const int FRONT
   
const int RIGHT
   
const int UP
   
  _Matrix3x3()
   
  _Matrix3x3(const _Matrix3x3 < value_t > & m1, const _Matrix3x3 < value_t > & m2, value_t blend)
   
  _Matrix3x3( value_t r0c0, value_t r0c1, value_t r0c2, value_t r1c0, value_t r1c1, value_t r1c2, value_t r2c0, value_t r2c1, value_t r2c2)
   
  _Matrix3x3(const value_t * m)

Information

   
   
value_t & operator[](const unsigned int i)
   
value_t at(uint_fast8_t row, uint_fast8_t column) const
   
value_t at(uint_fast8_t index) const
   
vec3_t getCol(uint_fast8_t col) const
   
vec3_t getRow(uint_fast8_t row) const
   
value_t det() const
   
bool isIdentity() const
   
void getRotation( vec3_t & axis, angle_t & angle) const
   
void getRotation_rad( vec3_t & axis, value_t & rad) const
   
void getRotation_deg( vec3_t & axis, value_t & deg) const

Modification

   
   
void set(uint_fast8_t index, value_t value)
   
void set(uint_fast8_t row, uint_fast8_t column, value_t value)
   
void set( value_t r0c0, value_t r0c1, value_t r0c2, value_t r1c0, value_t r1c1, value_t r1c2, value_t r2c0, value_t r2c1, value_t r2c2)
   
void setIdentity()
   
void setRow(uint_fast8_t row, value_t c0, value_t c1, value_t c2)
   
void setCol(uint_fast8_t col, value_t r0, value_t r1, value_t r2)
   
void setRow(uint_fast8_t row, const vec3_t & r)
   
void setCol(uint_fast8_t col, const vec3_t & c)
   
void normOrthoLize()
   
_Matrix3x3 & setRotation(const vec3_t & dir, const vec3_t & up)
   
_Matrix3x3 createRotation(const angle_t & angle, const vec3_t & axis)
Return a rotation matrix that rotates by anangleabout an axis in the direction of the unit vectoraxis.

Creation

   
   
_Matrix3x3 getTransposed() const
   
_Matrix3x3 getInverse() const
   
const _Matrix3x3 operator+(const _Matrix3x3 & b) const
   
const _Matrix3x3 operator-(const _Matrix3x3 & b) const
   
const _Matrix3x3 operator*(const _Matrix3x3 & b) const
   
const vec3_t operator*(const vec3_t & v) const
   
const _Matrix3x3 operator*( value_t f) const

Comparators

   
   
bool equals(const _Matrix3x3 & other, value_t epsilon) const
   
bool operator==(const _Matrix3x3 & m) const
   
bool operator!=(const _Matrix3x3 & m) const

Serialization

 
 
 

Public Types

   
   
typedef T_ value_t
   
typedef _Angle < value_t > angle_t
   
typedef _Vec3 < value_t > vec3_t

Documentation

variable
Geometry::_Matrix3x3::FRONT

public static
 
 
const int FRONT

Defined in Geometry/Matrix3x3.h:57


variable
Geometry::_Matrix3x3::RIGHT

public static
 
 
const int RIGHT

Defined in Geometry/Matrix3x3.h:58


variable
Geometry::_Matrix3x3::UP

public static
 
 
const int UP

Defined in Geometry/Matrix3x3.h:59


function
Geometry::_Matrix3x3::_Matrix3x3

public inline
   
   
_Matrix3x3( )

Defined in Geometry/Matrix3x3.h:61


function
Geometry::_Matrix3x3::_Matrix3x3

public inline
     
     
_Matrix3x3( const _Matrix3x3 < value_t > & m1,
  const _Matrix3x3 < value_t > & m2,
  value_t blend
)    

[ctor] interpolation between m1 and m2, according to the factor blend (should be between 0 and 1);

Defined in Geometry/Matrix3x3.h:68


function
Geometry::_Matrix3x3::_Matrix3x3

public inline explicit
     
     
_Matrix3x3( value_t r0c0,
  value_t r0c1,
  value_t r0c2,
  value_t r1c0,
  value_t r1c1,
  value_t r1c2,
  value_t r2c0,
  value_t r2c1,
  value_t r2c2
)    

Defined in Geometry/Matrix3x3.h:74


function
Geometry::_Matrix3x3::_Matrix3x3

public inline explicit
     
     
_Matrix3x3( const value_t * m )

Defined in Geometry/Matrix3x3.h:79


function
Geometry::_Matrix3x3::operator[]

public inline
     
     
value_t & operator[]( const unsigned int i )

Defined in Geometry/Matrix3x3.h:89


function
Geometry::_Matrix3x3::at

public const inline
     
     
value_t at( uint_fast8_t row,
  uint_fast8_t column
) const    

Defined in Geometry/Matrix3x3.h:93


function
Geometry::_Matrix3x3::at

public const inline
     
     
value_t at( uint_fast8_t index ) const

Defined in Geometry/Matrix3x3.h:96


function
Geometry::_Matrix3x3::getCol

public const inline
     
     
vec3_t getCol( uint_fast8_t col ) const

Defined in Geometry/Matrix3x3.h:99


function
Geometry::_Matrix3x3::getRow

public const inline
     
     
vec3_t getRow( uint_fast8_t row ) const

Defined in Geometry/Matrix3x3.h:102


function
Geometry::_Matrix3x3::det

public const inline
   
   
value_t det( ) const

Defined in Geometry/Matrix3x3.h:106


function
Geometry::_Matrix3x3::isIdentity

public const inline
   
   
bool isIdentity( ) const

Defined in Geometry/Matrix3x3.h:111


function
Geometry::_Matrix3x3::getRotation

public const inline
     
     
void getRotation( vec3_t & axis,
  angle_t & angle
) const    

Defined in Geometry/Matrix3x3.h:115


function
Geometry::_Matrix3x3::getRotation_rad

public const inline
     
     
void getRotation_rad( vec3_t & axis,
  value_t & rad
) const    

Defined in Geometry/Matrix3x3.h:129


function
Geometry::_Matrix3x3::getRotation_deg

public const inline
     
     
void getRotation_deg( vec3_t & axis,
  value_t & deg
) const    

Defined in Geometry/Matrix3x3.h:134


function
Geometry::_Matrix3x3::set

public inline
     
     
void set( uint_fast8_t index,
  value_t value
)    

Defined in Geometry/Matrix3x3.h:145


function
Geometry::_Matrix3x3::set

public inline
     
     
void set( uint_fast8_t row,
  uint_fast8_t column,
  value_t value
)    

Defined in Geometry/Matrix3x3.h:148


function
Geometry::_Matrix3x3::set

public inline
     
     
void set( value_t r0c0,
  value_t r0c1,
  value_t r0c2,
  value_t r1c0,
  value_t r1c1,
  value_t r1c2,
  value_t r2c0,
  value_t r2c1,
  value_t r2c2
)    

Defined in Geometry/Matrix3x3.h:151


function
Geometry::_Matrix3x3::setIdentity

public inline
   
   
void setIdentity( )

Defined in Geometry/Matrix3x3.h:163


function
Geometry::_Matrix3x3::setRow

public inline
     
     
void setRow( uint_fast8_t row,
  value_t c0,
  value_t c1,
  value_t c2
)    

Defined in Geometry/Matrix3x3.h:167


function
Geometry::_Matrix3x3::setCol

public inline
     
     
void setCol( uint_fast8_t col,
  value_t r0,
  value_t r1,
  value_t r2
)    

Defined in Geometry/Matrix3x3.h:173


function
Geometry::_Matrix3x3::setRow

public inline
     
     
void setRow( uint_fast8_t row,
  const vec3_t & r
)    

Defined in Geometry/Matrix3x3.h:178


function
Geometry::_Matrix3x3::setCol

public inline
     
     
void setCol( uint_fast8_t col,
  const vec3_t & c
)    

Defined in Geometry/Matrix3x3.h:181


function
Geometry::_Matrix3x3::normOrthoLize

public inline
   
   
void normOrthoLize( )

Defined in Geometry/Matrix3x3.h:185


function
Geometry::_Matrix3x3::setRotation

public inline
     
     
_Matrix3x3 & setRotation( const vec3_t & dir,
  const vec3_t & up
)    

Defined in Geometry/Matrix3x3.h:211


function
Geometry::_Matrix3x3::createRotation

public static inline
     
     
_Matrix3x3 createRotation( const angle_t & angle,
  const vec3_t & axis
)    

Return a rotation matrix that rotates by anangleabout an axis in the direction of the unit vectoraxis.

Defined in Geometry/Matrix3x3.h:196


function
Geometry::_Matrix3x3::getTransposed

public const inline
   
   
_Matrix3x3 getTransposed( ) const

Defined in Geometry/Matrix3x3.h:225


function
Geometry::_Matrix3x3::getInverse

public const inline
   
   
_Matrix3x3 getInverse( ) const

Defined in Geometry/Matrix3x3.h:228


function
Geometry::_Matrix3x3::operator+

public const inline
     
     
const _Matrix3x3 operator+( const _Matrix3x3 & b ) const

Defined in Geometry/Matrix3x3.h:245


function
Geometry::_Matrix3x3::operator-

public const inline
     
     
const _Matrix3x3 operator-( const _Matrix3x3 & b ) const

Defined in Geometry/Matrix3x3.h:250


function
Geometry::_Matrix3x3::operator*

public const inline
     
     
const _Matrix3x3 operator*( const _Matrix3x3 & b ) const

Defined in Geometry/Matrix3x3.h:255


function
Geometry::_Matrix3x3::operator*

public const inline
     
     
const vec3_t operator*( const vec3_t & v ) const

Defined in Geometry/Matrix3x3.h:268


function
Geometry::_Matrix3x3::operator*

public const inline
     
     
const _Matrix3x3 operator*( value_t f ) const

Defined in Geometry/Matrix3x3.h:273


function
Geometry::_Matrix3x3::equals

public const inline
     
     
bool equals( const _Matrix3x3 & other,
  value_t epsilon
) const    

compares this with other componentwise

Parameters

other
the object to compare with
epsilon
the maximum allowed difference between the component pairs

Returns

true iff any the absolute difference between any pai of components is larger than epsilon

Defined in Geometry/Matrix3x3.h:287


function
Geometry::_Matrix3x3::operator==

public const inline
     
     
bool operator==( const _Matrix3x3 & m ) const

Defined in Geometry/Matrix3x3.h:294


function
Geometry::_Matrix3x3::operator!=

public const inline
     
     
bool operator!=( const _Matrix3x3 & m ) const

Defined in Geometry/Matrix3x3.h:299


typedef
Geometry::_Matrix3x3::value_t

public
 
 
typedef T_ value_t

Defined in Geometry/Matrix3x3.h:36


typedef
Geometry::_Matrix3x3::angle_t

public
 
 
typedef _Angle < value_t > angle_t

Defined in Geometry/Matrix3x3.h:37


typedef
Geometry::_Matrix3x3::vec3_t

public
 
 
typedef _Vec3 < value_t > vec3_t

Defined in Geometry/Matrix3x3.h:38