|
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().
1.8.5