Hugintrunk
0.1
|
general : Matrix3 is a class for handling 3x3 Matrix manipulation. More...
#include <Matrix3.h>
Public Member Functions | |
Matrix3 () | |
default constructor : initialise to zero More... | |
Matrix3 (const Matrix3 &ot) | |
copy constructor More... | |
void | SetIdentity () |
Set the identity matrix. More... | |
void | SetRotation (double Yaw, double Pitch, double Roll) |
Set the matrice to rotation using yaw, pitch, roll angle. More... | |
void | SetRotationPT (double yaw, double pitch, double roll) |
set rotation in panotools style, code adapted from Panotools-Script by Bruno Postle More... | |
void | GetRotationPT (double &Yaw, double &Pitch, double &Roll) |
GetRotation in panotools style. More... | |
void | SetRotationX (double a) |
set the matrice to rotation around X More... | |
void | SetRotationY (double a) |
void | SetRotationZ (double a) |
Matrix3 & | operator= (const Matrix3 &ot) |
copy operator More... | |
Matrix3 | operator* (const Matrix3 &ot) const |
multiplication with another matrix More... | |
void | operator/= (double s) |
operator *= More... | |
void | operator*= (double s) |
operator *= More... | |
void | operator*= (Matrix3 ot) |
operator *= More... | |
bool | operator== (Matrix3 &ot) const |
comparison More... | |
bool | operator!= (Matrix3 &ot) const |
comparison More... | |
Matrix3 | Transpose () |
retrieves transpose More... | |
double | Determinant () const |
get the determinant More... | |
Vector3 | TransformVector (const Vector3 &V) const |
transforms a vector More... | |
Matrix3 | Inverse () const |
return inverse if it exists, otherwise identity More... | |
void | Print (std::ostream &o) const |
Public Attributes | |
double | m [3][3] |
we define the Matrix3 as 3 colums of 3 rows More... | |
Static Public Attributes | |
static Matrix3 | Identity = getIdentity() |
general : Matrix3 is a class for handling 3x3 Matrix manipulation.
We do not use 4x4 matrix for view point changement as the calculus could be inefficent (some of the coefficients are null, m14 = m24 = m34 = 0 et m44 = 1.0 always).
Matrix3::Matrix3 | ( | ) |
Matrix3::Matrix3 | ( | const Matrix3 & | ot | ) |
copy constructor
Definition at line 43 of file Matrix3.cpp.
|
inline |
get the determinant
Definition at line 134 of file Matrix3.h.
Referenced by vigra_ext::FitPolynom(), and Inverse().
void Matrix3::GetRotationPT | ( | double & | Yaw, |
double & | Pitch, | ||
double & | Roll | ||
) |
GetRotation in panotools style.
Definition at line 157 of file Matrix3.cpp.
References m.
Referenced by GetImageRotatedTo(), PreviewPanel::mousePressLMBEvent(), DragTool::ParamStore::Move(), and HuginBase::RotatePanorama::rotatePano().
Matrix3 Matrix3::Inverse | ( | ) | const |
return inverse if it exists, otherwise identity
Definition at line 256 of file Matrix3.cpp.
References Determinant(), Identity, and m.
Referenced by DragTool::ParamStore::Move(), and HuginBase::RotatePanorama::rotatePano().
|
inline |
void Matrix3::operator*= | ( | double | s | ) |
void Matrix3::operator*= | ( | Matrix3 | ot | ) |
void Matrix3::operator/= | ( | double | s | ) |
|
inline |
void Matrix3::Print | ( | std::ostream & | o | ) | const |
void Matrix3::SetIdentity | ( | ) |
Set the identity matrix.
Definition at line 49 of file Matrix3.cpp.
References m.
Referenced by getIdentity(), and GetRotationAroundU().
void Matrix3::SetRotation | ( | double | Yaw, |
double | Pitch, | ||
double | Roll | ||
) |
Set the matrice to rotation using yaw, pitch, roll angle.
Definition at line 57 of file Matrix3.cpp.
References m.
void Matrix3::SetRotationPT | ( | double | yaw, |
double | pitch, | ||
double | roll | ||
) |
set rotation in panotools style, code adapted from Panotools-Script by Bruno Postle
Definition at line 110 of file Matrix3.cpp.
References m.
Referenced by HuginBase::StraightenPanorama::calcStraighteningRotation(), GetImageRotatedTo(), PreviewPanel::mousePressLMBEvent(), DragTool::ParamStore::Move(), HuginBase::RotatePanorama::rotatePano(), HuginBase::RotatePanorama::RotatePanorama(), and DragTool::SetRotationMatrix().
void Matrix3::SetRotationX | ( | double | a | ) |
set the matrice to rotation around X
Definition at line 173 of file Matrix3.cpp.
References m.
Referenced by HuginBase::Nona::SetMatrix().
void Matrix3::SetRotationY | ( | double | a | ) |
Definition at line 180 of file Matrix3.cpp.
References m.
Referenced by HuginBase::Nona::SetMatrix().
void Matrix3::SetRotationZ | ( | double | a | ) |
Definition at line 187 of file Matrix3.cpp.
References m.
Referenced by HuginBase::Nona::SetMatrix().
transforms a vector
Definition at line 143 of file Matrix3.h.
References Vector3::x, Vector3::y, and Vector3::z.
Referenced by DragTool::ParamStore::Move(), HuginBase::Nona::persp_rect(), HuginBase::Nona::persp_sphere(), and HuginBase::RotatePanorama::rotatePano().
|
inline |
|
static |
double Matrix3::m[3][3] |
we define the Matrix3 as 3 colums of 3 rows
Definition at line 41 of file Matrix3.h.
Referenced by HuginBase::StraightenPanorama::calcStraighteningRotation(), vigra_ext::FitPolynom(), GetRotationAroundU(), GetRotationPT(), Inverse(), Matrix3(), operator*(), operator*=(), operator/=(), operator=(), operator==(), Print(), SetIdentity(), SetRotation(), SetRotationPT(), SetRotationX(), SetRotationY(), SetRotationZ(), and Transpose().