|
Hugin trunk 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 | |
| Matrix3 (const Matrix3 &ot) | |
| copy constructor | |
| void | SetIdentity () |
| Set the identity matrix. | |
| void | SetRotation (double Yaw, double Pitch, double Roll) |
| Set the matrice to rotation using yaw, pitch, roll angle. | |
| void | SetRotationPT (double yaw, double pitch, double roll) |
| set rotation in panotools style, code adapted from Panotools-Script by Bruno Postle | |
| void | GetRotationPT (double &Yaw, double &Pitch, double &Roll) |
| GetRotation in panotools style. | |
| void | SetRotationX (double a) |
| set the matrice to rotation around X | |
| void | SetRotationY (double a) |
| void | SetRotationZ (double a) |
| Matrix3 & | operator= (const Matrix3 &ot) |
| copy operator | |
| Matrix3 | operator* (const Matrix3 &ot) const |
| multiplication with another matrix | |
| void | operator/= (double s) |
| operator *= | |
| void | operator*= (double s) |
| operator *= | |
| void | operator*= (Matrix3 ot) |
| operator *= | |
| bool | operator== (Matrix3 &ot) const |
| comparison | |
| bool | operator!= (Matrix3 &ot) const |
| comparison | |
| Matrix3 | Transpose () |
| retrieves transpose | |
| double | Determinant () const |
| get the determinant | |
| Vector3 | TransformVector (const Vector3 &V) const |
| transforms a vector | |
| Matrix3 | Inverse () const |
| return inverse if it exists, otherwise identity | |
| void | Print (std::ostream &o) const |
Public Attributes | |
| double | m [3][3] |
| we define the Matrix3 as 3 colums of 3 rows | |
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 | ( | ) |
default constructor : initialise to zero
Definition at line 36 of file Matrix3.cpp.
References m, and threshold().
|
inline |
GetRotation in panotools style.
Definition at line 157 of file Matrix3.cpp.
References m, Pitch, Roll, threshold(), and Yaw.
Referenced by GetImageRotatedTo(), PreviewPanel::mousePressLMBEvent(), and DragTool::ParamStore::Move().
| Matrix3 Matrix3::Inverse | ( | ) | const |
return inverse if it exists, otherwise identity
Definition at line 256 of file Matrix3.cpp.
References Determinant(), Identity, m, and threshold().
multiplication with another matrix
Definition at line 204 of file Matrix3.cpp.
References m, and threshold().
| 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().
Set the matrice to rotation using yaw, pitch, roll angle.
Definition at line 57 of file Matrix3.cpp.
References m, Pitch, Roll, threshold(), and Yaw.
set rotation in panotools style, code adapted from Panotools-Script by Bruno Postle
Definition at line 110 of file Matrix3.cpp.
References m, and threshold().
Referenced by HuginBase::StraightenPanorama::calcStraighteningRotation(), GetImageRotatedTo(), PreviewPanel::mousePressLMBEvent(), DragTool::ParamStore::Move(), HuginBase::RotatePanorama::rotatePano(), HuginBase::RotatePanorama::RotatePanorama(), and DragTool::SetRotationMatrix().
set the matrice to rotation around X
Definition at line 173 of file Matrix3.cpp.
References m, and threshold().
Referenced by HuginBase::Nona::SetMatrix().
Definition at line 180 of file Matrix3.cpp.
References m, and threshold().
Definition at line 187 of file Matrix3.cpp.
References m, and threshold().
transforms a vector
Definition at line 143 of file Matrix3.h.
References threshold(), and Vector3::x.
|
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 vigra_ext::FitPolynom(), GetRotationAroundU(), GetRotationPT(), Inverse(), Matrix3(), operator*(), operator*=(), operator*=(), operator/=(), operator=(), Print(), SetIdentity(), SetRotation(), SetRotationPT(), SetRotationX(), SetRotationY(), SetRotationZ(), and Transpose().