Matrix3 Class Reference

general : Matrix3 is a class for handling 3x3 Matrix manipulation. More...

#include <Matrix3.h>

List of all members.

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)
Matrix3operator= (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

Matrix3 Identity = getIdentity()


Detailed Description

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

Definition at line 37 of file Matrix3.h.


Constructor & Destructor Documentation

Matrix3::Matrix3  ) 
 

default constructor : initialise to zero

Definition at line 36 of file Matrix3.cpp.

References m.

Matrix3::Matrix3 const Matrix3 ot  ) 
 

copy constructor

Definition at line 43 of file Matrix3.cpp.


Member Function Documentation

double Matrix3::Determinant  )  const [inline]
 

get the determinant

Definition at line 134 of file Matrix3.h.

References m.

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, Pitch, Roll, and Yaw.

Referenced by 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(), and m.

Referenced by DragTool::ParamStore::Move(), and HuginBase::RotatePanorama::rotatePano().

Matrix3 Matrix3::operator * const Matrix3 ot  )  const
 

multiplication with another matrix

Definition at line 204 of file Matrix3.cpp.

References m.

void Matrix3::operator *= Matrix3  ot  ) 
 

operator *=

Definition at line 238 of file Matrix3.cpp.

References m.

void Matrix3::operator *= double  s  ) 
 

operator *=

Definition at line 230 of file Matrix3.cpp.

References m.

bool Matrix3::operator!= Matrix3 ot  )  const [inline]
 

comparison

Definition at line 112 of file Matrix3.h.

void Matrix3::operator/= double  s  ) 
 

operator *=

Definition at line 222 of file Matrix3.cpp.

References m.

Matrix3 & Matrix3::operator= const Matrix3 ot  ) 
 

copy operator

Definition at line 195 of file Matrix3.cpp.

References m.

bool Matrix3::operator== Matrix3 ot  )  const [inline]
 

comparison

Definition at line 102 of file Matrix3.h.

References m.

void Matrix3::Print std::ostream o  )  const
 

Definition at line 280 of file Matrix3.cpp.

References m.

Referenced by operator<<().

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, Pitch, Roll, and Yaw.

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

Vector3 Matrix3::TransformVector const Vector3 V  )  const [inline]
 

transforms a vector

Definition at line 144 of file Matrix3.h.

References m, Vector3::x, Vector3::y, and Vector3::z.

Referenced by DragTool::ParamStore::Move(), HuginBase::Nona::persp_rect(), HuginBase::Nona::persp_sphere(), and HuginBase::RotatePanorama::rotatePano().

Matrix3 Matrix3::Transpose  )  [inline]
 

retrieves transpose

Definition at line 118 of file Matrix3.h.

References m.


Member Data Documentation

Matrix3 Matrix3::Identity = getIdentity() [static]
 

Definition at line 32 of file Matrix3.cpp.

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(), Determinant(), vigra_ext::FitPolynom(), GetRotationAroundU(), GetRotationPT(), Inverse(), Matrix3(), operator *(), operator *=(), operator/=(), operator=(), operator==(), Print(), SetIdentity(), SetRotation(), SetRotationPT(), SetRotationX(), SetRotationY(), SetRotationZ(), TransformVector(), and Transpose().


The documentation for this class was generated from the following files:
Generated on Thu Jul 31 01:25:49 2014 for Hugintrunk by  doxygen 1.3.9.1