FEDEM Solver  R8.0
Source code of the dynamics solver
Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
FaMat34 Class Reference

#include <FFaMat34.H>

Collaboration diagram for FaMat34:
Collaboration graph
[legend]

Public Member Functions

 FaMat34 ()
 
 FaMat34 (const float *mat)
 
 FaMat34 (const double *mat)
 
 FaMat34 (const FaVec3 &pos)
 
 FaMat34 (const FaVec3 &v0, const FaVec3 &v1, const FaVec3 &v2, const FaVec3 &v3)
 
 FaMat34 (const FaMat33 &m, const FaVec3 &v)
 
 FaMat34 (const FaMat34 &m)
 
FaMat34operator= (const FaMat34 &m)
 
FaMat34operator= (const FaVec3 &v)
 
FaMat34operator+= (const FaMat34 &m)
 
FaMat34operator+= (const FaVec3 &v)
 
FaMat34operator-= (const FaMat34 &m)
 
FaMat34operator-= (const FaVec3 &v)
 
FaMat34operator*= (double d)
 
FaMat34operator/= (double d)
 
const FaVec3operator[] (int i) const
 
FaVec3operator[] (int i)
 
const double & operator() (int i, int j) const
 
double & operator() (int i, int j)
 
const FaMat33direction () const
 
const FaVec3translation () const
 
FaMat34 inverse () const
 
FaMat34setIdentity ()
 
bool isCoincident (const FaMat34 &m, double tolerance=1.0e-10) const
 
FaMat34eulerRotateZYX (const FaVec3 &anglesXYZ, const FaMat34 &fromMatrix)
 
FaMat34eulerRotateZYX (const FaVec3 &anglesXYZ)
 
FaMat34eulerTransform (const FaVec3 &offsetXYZ, const FaVec3 &anglesXYZ, const FaMat34 &fromMatrix)
 
FaMat34quatrTransform (const FaVec3 &offsetXYZ, const FaVec3 &anglesXYZ, const FaMat34 &fromMatrix)
 
FaMat34makeGlobalizedCS (const FaVec3 &origin, const FaVec3 &p1)
 
FaMat34makeGlobalizedCS (const FaVec3 &origin, const FaVec3 &p1, const FaVec3 &p2)
 
FaMat34makeGlobalizedCS (const FaVec3 &origin, const FaVec3 &p1, const FaVec3 &p2, const FaVec3 &p3)
 
FaMat34makeCS_X_XY (const FaVec3 &origin, const FaVec3 &xpt, const FaVec3 &xypl)
 
FaMat34makeCS_X_XZ (const FaVec3 &origin, const FaVec3 &xpt, const FaVec3 &xzpl)
 
FaMat34makeCS_Z_XZ (const FaVec3 &origin, const FaVec3 &zpt, const FaVec3 &xzpl)
 
FaVec3 projectOnXY (const FaVec3 &x) const
 
FaVec3 getEulerZYX () const
 
double getEulerZYX (int i) const
 
double getEulerZYX (int i, const FaMat34 &from) const
 
double getRotation (int i) const
 
double getRotation (int i, const FaMat34 &from) const
 
std::ostream & printStd (std::ostream &os) const
 
std::ostream & printRot (std::ostream &os) const
 
bool readStd (std::istream &s)
 
bool readRot (std::istream &s)
 

Static Public Member Functions

static FaVec3 getEulerZYX (const FaMat34 &from, const FaMat34 &to)
 
static FaMat34 makeZrotation (double angle)
 
static FaMat34 makeYrotation (double angle)
 
static FaMat34 makeXrotation (double angle)
 

Private Attributes

FaMat33 r
 
FaVec3 p
 

Friends

FaMat34 operator- (const FaMat34 &a)
 
FaMat34 operator+ (const FaMat34 &a, const FaMat34 &b)
 
FaMat34 operator+ (const FaMat34 &a, const FaMat33 &b)
 
FaMat34 operator+ (const FaMat34 &a, const FaVec3 &b)
 
FaMat34 operator- (const FaMat34 &a, const FaMat34 &b)
 
FaMat34 operator- (const FaMat34 &a, const FaMat33 &b)
 
FaMat34 operator- (const FaMat34 &a, const FaVec3 &b)
 
FaMat34 operator* (const FaMat34 &a, const FaMat34 &b)
 
FaMat34 operator* (const FaMat34 &a, const FaMat33 &b)
 
FaVec3 operator* (const FaMat34 &a, const FaVec3 &b)
 
bool operator== (const FaMat34 &a, const FaMat34 &b)
 
bool operator!= (const FaMat34 &a, const FaMat34 &b)
 
std::ostream & operator<< (std::ostream &s, const FaMat34 &m)
 
std::istream & operator>> (std::istream &s, FaMat34 &m)
 

Constructor & Destructor Documentation

◆ FaMat34() [1/7]

FaMat34::FaMat34 ( )
inline

◆ FaMat34() [2/7]

FaMat34::FaMat34 ( const float *  mat)
inline

◆ FaMat34() [3/7]

FaMat34::FaMat34 ( const double *  mat)
inline

◆ FaMat34() [4/7]

FaMat34::FaMat34 ( const FaVec3 pos)
inline

◆ FaMat34() [5/7]

FaMat34::FaMat34 ( const FaVec3 v0,
const FaVec3 v1,
const FaVec3 v2,
const FaVec3 v3 
)
inline

◆ FaMat34() [6/7]

FaMat34::FaMat34 ( const FaMat33 m,
const FaVec3 v 
)
inline

◆ FaMat34() [7/7]

FaMat34::FaMat34 ( const FaMat34 m)
inline

Member Function Documentation

◆ direction()

const FaMat33& FaMat34::direction ( ) const
inline

◆ eulerRotateZYX() [1/2]

FaMat34 & FaMat34::eulerRotateZYX ( const FaVec3 anglesXYZ)

◆ eulerRotateZYX() [2/2]

FaMat34 & FaMat34::eulerRotateZYX ( const FaVec3 anglesXYZ,
const FaMat34 fromMatrix 
)

◆ eulerTransform()

FaMat34 & FaMat34::eulerTransform ( const FaVec3 offsetXYZ,
const FaVec3 anglesXYZ,
const FaMat34 fromMatrix 
)

◆ getEulerZYX() [1/4]

FaVec3 FaMat34::getEulerZYX ( ) const

◆ getEulerZYX() [2/4]

FaVec3 FaMat34::getEulerZYX ( const FaMat34 from,
const FaMat34 to 
)
static

◆ getEulerZYX() [3/4]

double FaMat34::getEulerZYX ( int  i) const

◆ getEulerZYX() [4/4]

double FaMat34::getEulerZYX ( int  i,
const FaMat34 from 
) const

◆ getRotation() [1/2]

double FaMat34::getRotation ( int  i) const

◆ getRotation() [2/2]

double FaMat34::getRotation ( int  i,
const FaMat34 from 
) const

◆ inverse()

FaMat34 FaMat34::inverse ( ) const

◆ isCoincident()

bool FaMat34::isCoincident ( const FaMat34 m,
double  tolerance = 1.0e-10 
) const

◆ makeCS_X_XY()

FaMat34 & FaMat34::makeCS_X_XY ( const FaVec3 origin,
const FaVec3 xpt,
const FaVec3 xypl 
)

◆ makeCS_X_XZ()

FaMat34 & FaMat34::makeCS_X_XZ ( const FaVec3 origin,
const FaVec3 xpt,
const FaVec3 xzpl 
)

◆ makeCS_Z_XZ()

FaMat34 & FaMat34::makeCS_Z_XZ ( const FaVec3 origin,
const FaVec3 zpt,
const FaVec3 xzpl 
)

◆ makeGlobalizedCS() [1/3]

FaMat34 & FaMat34::makeGlobalizedCS ( const FaVec3 origin,
const FaVec3 p1 
)

◆ makeGlobalizedCS() [2/3]

FaMat34 & FaMat34::makeGlobalizedCS ( const FaVec3 origin,
const FaVec3 p1,
const FaVec3 p2 
)

◆ makeGlobalizedCS() [3/3]

FaMat34 & FaMat34::makeGlobalizedCS ( const FaVec3 origin,
const FaVec3 p1,
const FaVec3 p2,
const FaVec3 p3 
)

◆ makeXrotation()

FaMat34 FaMat34::makeXrotation ( double  angle)
static

◆ makeYrotation()

FaMat34 FaMat34::makeYrotation ( double  angle)
static

◆ makeZrotation()

FaMat34 FaMat34::makeZrotation ( double  angle)
static

◆ operator()() [1/2]

double & FaMat34::operator() ( int  i,
int  j 
)
inline

◆ operator()() [2/2]

const double & FaMat34::operator() ( int  i,
int  j 
) const
inline

◆ operator*=()

FaMat34 & FaMat34::operator*= ( double  d)

◆ operator+=() [1/2]

FaMat34 & FaMat34::operator+= ( const FaMat34 m)

Matrix layout :

[0][0] [1][0] [2][0] [3][0]

[0][1] [1][1] [2][1] [3][1]

[0][2] [1][2] [2][2] [3][2]

◆ operator+=() [2/2]

FaMat34 & FaMat34::operator+= ( const FaVec3 v)

◆ operator-=() [1/2]

FaMat34 & FaMat34::operator-= ( const FaMat34 m)

◆ operator-=() [2/2]

FaMat34 & FaMat34::operator-= ( const FaVec3 v)

◆ operator/=()

FaMat34 & FaMat34::operator/= ( double  d)

◆ operator=() [1/2]

FaMat34& FaMat34::operator= ( const FaMat34 m)
inline

◆ operator=() [2/2]

FaMat34& FaMat34::operator= ( const FaVec3 v)
inline

◆ operator[]() [1/2]

FaVec3 & FaMat34::operator[] ( int  i)
inline

◆ operator[]() [2/2]

const FaVec3 & FaMat34::operator[] ( int  i) const
inline

◆ printRot()

std::ostream & FaMat34::printRot ( std::ostream &  os) const

Writes a reduced homogenous transformation matrix. Format: R1x R1y R1z R2x R2y R3z R3x R3y R3z Tx Ty Tz

◆ printStd()

std::ostream & FaMat34::printStd ( std::ostream &  os) const

Writes a reduced homogenous transformation matrix. Format: R1x R2x R3x Tx R1y R2y R3y Ty R1z R2z R3z Tz

◆ projectOnXY()

FaVec3 FaMat34::projectOnXY ( const FaVec3 x) const

◆ quatrTransform()

FaMat34 & FaMat34::quatrTransform ( const FaVec3 offsetXYZ,
const FaVec3 anglesXYZ,
const FaMat34 fromMatrix 
)

◆ readRot()

bool FaMat34::readRot ( std::istream &  s)

Reads a reduced homogenous transformation matrix. Format: R1x R1y R1z R2x R2y R3z R3x R3y R3z Tx Ty Tz

◆ readStd()

bool FaMat34::readStd ( std::istream &  s)

Reads a reduced homogenous transformation matrix. Format: R1x R2x R3x Tx R1y R2y R3y Ty R1z R2z R3z Tz

◆ setIdentity()

FaMat34 & FaMat34::setIdentity ( )

◆ translation()

const FaVec3& FaMat34::translation ( ) const
inline

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const FaMat34 a,
const FaMat34 b 
)
friend

◆ operator* [1/3]

FaMat34 operator* ( const FaMat34 a,
const FaMat33 b 
)
friend

◆ operator* [2/3]

FaMat34 operator* ( const FaMat34 a,
const FaMat34 b 
)
friend

◆ operator* [3/3]

FaVec3 operator* ( const FaMat34 a,
const FaVec3 b 
)
friend

◆ operator+ [1/3]

FaMat34 operator+ ( const FaMat34 a,
const FaMat33 b 
)
friend

◆ operator+ [2/3]

FaMat34 operator+ ( const FaMat34 a,
const FaMat34 b 
)
friend

◆ operator+ [3/3]

FaMat34 operator+ ( const FaMat34 a,
const FaVec3 b 
)
friend

◆ operator- [1/4]

FaMat34 operator- ( const FaMat34 a)
friend

◆ operator- [2/4]

FaMat34 operator- ( const FaMat34 a,
const FaMat33 b 
)
friend

◆ operator- [3/4]

FaMat34 operator- ( const FaMat34 a,
const FaMat34 b 
)
friend

◆ operator- [4/4]

FaMat34 operator- ( const FaMat34 a,
const FaVec3 b 
)
friend

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
const FaMat34 m 
)
friend

◆ operator==

bool operator== ( const FaMat34 a,
const FaMat34 b 
)
friend

◆ operator>>

std::istream& operator>> ( std::istream &  s,
FaMat34 m 
)
friend

Member Data Documentation

◆ p

FaVec3 FaMat34::p
private

◆ r

FaMat33 FaMat34::r
private

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