Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Matrix3 Class Reference

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

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.

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

bool Matrix3::operator!= ( Matrix3 ot) const
inline

comparison

Definition at line 112 of file Matrix3.h.

Matrix3 Matrix3::operator* ( const Matrix3 ot) const

multiplication with another matrix

Definition at line 204 of file Matrix3.cpp.

References m.

void Matrix3::operator*= ( double  s)

operator *=

Definition at line 230 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 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.

void Matrix3::SetRotationPT ( double  yaw,
double  pitch,
double  roll 
)
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
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 43 of file Matrix3.h.

Referenced by Inverse().

double Matrix3::m[3][3]

The documentation for this class was generated from the following files: