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 an angle about 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 anangle
about 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