AGX Dynamics 2.41.2.0
Loading...
Searching...
No Matches
agx::OrthoMatrix3x3 Class Reference

Specialized types of matrices for holding orthogonal transformation matrices. More...

#include <OrthoMatrix3x3.h>

Public Member Functions

 OrthoMatrix3x3 ()
 Default constructor.
 
 OrthoMatrix3x3 (const OrthoMatrix3x3 &mat)
 Copy constructor.
 
 OrthoMatrix3x3 (const Quat &quat)
 
 OrthoMatrix3x3 (EulerAngles &euler)
 
 OrthoMatrix3x3 (Real a00, Real a01, Real a02, Real a10, Real a11, Real a12, Real a20, Real a21, Real a22)
 
 OrthoMatrix3x3 (Real const *const ptr)
 
 ~OrthoMatrix3x3 ()
 
Quat get () const
 
void get (EulerAngles &e) const
 Convert the rotation of this matrix into a specified EulerAngles representation.
 
void get (Quat &q) const
 Set the quaternion with the rotation from this matrix.
 
Vec3 getRow (size_t row) const
 Return the row of the matrix,.
 
Vec3 getScale () const
 
OrthoMatrix3x3 inverse () const
 
bool isIdentity () const
 
bool isNaN () const
 
bool isValid () const
 
void mult (const OrthoMatrix3x3 &, const OrthoMatrix3x3 &)
 
bool operator!= (const OrthoMatrix3x3 &m) const
 
Realoperator() (size_t row, size_t col)
 
Real operator() (size_t row, size_t col) const
 
OrthoMatrix3x3 operator* (const OrthoMatrix3x3 &m) const
 
Vec3 operator* (const Vec3 &v) const
 
void operator*= (const OrthoMatrix3x3 &other)
 
OrthoMatrix3x3operator= (const OrthoMatrix3x3 &rhs)
 
bool operator== (const OrthoMatrix3x3 &m) const
 
void postMult (const OrthoMatrix3x3 &)
 
Vec3 postMult (const Vec3 &v) const
 
void preMult (const OrthoMatrix3x3 &)
 
Vec3 preMult (const Vec3 &v) const
 
Realptr ()
 
const Realptr () const
 
void set (const OrthoMatrix3x3 &rhs)
 
OrthoMatrix3x3set (const Quat &q_)
 Set the value of this matrix from the specified quaternion.
 
OrthoMatrix3x3set (EulerAngles &e)
 Set the rotation of matrix to be the rotation specified in the given EulerAngles object.
 
void set (Real a00, Real a01, Real a02, Real a10, Real a11, Real a12, Real a20, Real a21, Real a22)
 
void set (Real const *const ptr)
 
void setColumn (size_t col, const agx::Vec3 &vec)
 Set the column of the matrix,.
 
void setIdentity ()
 
void setRotate (const Quat &)
 
void setRotate (const Vec3 &from, const Vec3 &to)
 
void setRotate (Real angle, const Vec3 &axis)
 
void setRotate (Real angle, Real x, Real y, Real z)
 
void setRotate (Real angle1, const Vec3 &axis1, Real angle2, const Vec3 &axis2, Real angle3, const Vec3 &axis3)
 
void setRow (size_t row, const agx::Vec3 &vec)
 Set the row of the matrix,.
 
OrthoMatrix3x3 transpose () const
 

Static Public Member Functions

static OrthoMatrix3x3 rotate (const Vec3 &from, const Vec3 &to)
 
static OrthoMatrix3x3 rotate (Real angle, const Vec3 &axis)
 
static OrthoMatrix3x3 rotate (Real angle, Real x, Real y, Real z)
 
static OrthoMatrix3x3 rotate (Real angle1, const Vec3 &axis1, Real angle2, const Vec3 &axis2, Real angle3, const Vec3 &axis3)
 

Protected Member Functions

bool invert (const OrthoMatrix3x3 &rhs)
 
bool invert_3x3_new (const agx::OrthoMatrix3x3 &)
 

Protected Attributes

Real m_data [3][3]
 

Detailed Description

Specialized types of matrices for holding orthogonal transformation matrices.

Definition at line 33 of file OrthoMatrix3x3.h.

Constructor & Destructor Documentation

◆ OrthoMatrix3x3() [1/6]

agx::OrthoMatrix3x3::OrthoMatrix3x3 ( )
inline

Default constructor.

Definition at line 39 of file OrthoMatrix3x3.h.

Referenced by transpose().

◆ OrthoMatrix3x3() [2/6]

agx::OrthoMatrix3x3::OrthoMatrix3x3 ( const OrthoMatrix3x3 mat)
inline

Copy constructor.

Definition at line 46 of file OrthoMatrix3x3.h.

References ptr().

◆ OrthoMatrix3x3() [3/6]

agx::OrthoMatrix3x3::OrthoMatrix3x3 ( Real const *const  ptr)
inlineexplicit

Definition at line 49 of file OrthoMatrix3x3.h.

◆ OrthoMatrix3x3() [4/6]

agx::OrthoMatrix3x3::OrthoMatrix3x3 ( const Quat quat)
inlineexplicit

Definition at line 52 of file OrthoMatrix3x3.h.

◆ OrthoMatrix3x3() [5/6]

agx::OrthoMatrix3x3::OrthoMatrix3x3 ( EulerAngles euler)
inlineexplicit

Definition at line 56 of file OrthoMatrix3x3.h.

◆ OrthoMatrix3x3() [6/6]

agx::OrthoMatrix3x3::OrthoMatrix3x3 ( Real  a00,
Real  a01,
Real  a02,
Real  a10,
Real  a11,
Real  a12,
Real  a20,
Real  a21,
Real  a22 
)

◆ ~OrthoMatrix3x3()

agx::OrthoMatrix3x3::~OrthoMatrix3x3 ( )
inline

Definition at line 97 of file OrthoMatrix3x3.h.

Member Function Documentation

◆ get() [1/3]

Quat agx::OrthoMatrix3x3::get ( ) const
inline

Definition at line 239 of file OrthoMatrix3x3.h.

References get().

Referenced by get().

◆ get() [2/3]

void agx::OrthoMatrix3x3::get ( EulerAngles e) const

Convert the rotation of this matrix into a specified EulerAngles representation.

◆ get() [3/3]

void agx::OrthoMatrix3x3::get ( Quat q) const

Set the quaternion with the rotation from this matrix.

◆ getRow()

Vec3 agx::OrthoMatrix3x3::getRow ( size_t  row) const
inline

Return the row of the matrix,.

Parameters
rowmust be between [0..2]

Definition at line 76 of file OrthoMatrix3x3.h.

◆ getScale()

Vec3 agx::OrthoMatrix3x3::getScale ( ) const
inline

Definition at line 206 of file OrthoMatrix3x3.h.

◆ inverse()

OrthoMatrix3x3 agx::OrthoMatrix3x3::inverse ( ) const
inline

Definition at line 273 of file OrthoMatrix3x3.h.

References invert().

◆ invert()

bool agx::OrthoMatrix3x3::invert ( const OrthoMatrix3x3 rhs)
protected

Referenced by inverse().

◆ invert_3x3_new()

bool agx::OrthoMatrix3x3::invert_3x3_new ( const agx::OrthoMatrix3x3 )
protected

◆ isIdentity()

bool agx::OrthoMatrix3x3::isIdentity ( ) const

References agx::inverse().

◆ isNaN()

bool agx::OrthoMatrix3x3::isNaN ( ) const
inline

Definition at line 120 of file OrthoMatrix3x3.h.

◆ isValid()

bool agx::OrthoMatrix3x3::isValid ( ) const
inline

Definition at line 117 of file OrthoMatrix3x3.h.

References agx::isNaN().

◆ mult()

void agx::OrthoMatrix3x3::mult ( const OrthoMatrix3x3 ,
const OrthoMatrix3x3  
)

Referenced by operator*().

◆ operator!=()

bool agx::OrthoMatrix3x3::operator!= ( const OrthoMatrix3x3 m) const
inline

Definition at line 105 of file OrthoMatrix3x3.h.

References m_data.

◆ operator()() [1/2]

Real & agx::OrthoMatrix3x3::operator() ( size_t  row,
size_t  col 
)
inline

Definition at line 110 of file OrthoMatrix3x3.h.

◆ operator()() [2/2]

Real agx::OrthoMatrix3x3::operator() ( size_t  row,
size_t  col 
) const
inline

Definition at line 113 of file OrthoMatrix3x3.h.

◆ operator*() [1/2]

OrthoMatrix3x3 agx::OrthoMatrix3x3::operator* ( const OrthoMatrix3x3 m) const
inline

Definition at line 224 of file OrthoMatrix3x3.h.

References mult().

◆ operator*() [2/2]

Vec3 agx::OrthoMatrix3x3::operator* ( const Vec3 v) const
inline

Definition at line 304 of file OrthoMatrix3x3.h.

References postMult().

◆ operator*=()

void agx::OrthoMatrix3x3::operator*= ( const OrthoMatrix3x3 other)
inline

Definition at line 216 of file OrthoMatrix3x3.h.

◆ operator=()

OrthoMatrix3x3 & agx::OrthoMatrix3x3::operator= ( const OrthoMatrix3x3 rhs)
inline

Definition at line 132 of file OrthoMatrix3x3.h.

References ptr().

◆ operator==()

bool agx::OrthoMatrix3x3::operator== ( const OrthoMatrix3x3 m) const
inline

Definition at line 100 of file OrthoMatrix3x3.h.

References m_data.

◆ postMult() [1/2]

void agx::OrthoMatrix3x3::postMult ( const OrthoMatrix3x3 )

◆ postMult() [2/2]

Vec3 agx::OrthoMatrix3x3::postMult ( const Vec3 v) const
inline

Definition at line 287 of file OrthoMatrix3x3.h.

References m_data, agx::Vec3T< T >::x(), agx::Vec3T< T >::y(), and agx::Vec3T< T >::z().

Referenced by operator*().

◆ preMult() [1/2]

void agx::OrthoMatrix3x3::preMult ( const OrthoMatrix3x3 )

◆ preMult() [2/2]

Vec3 agx::OrthoMatrix3x3::preMult ( const Vec3 v) const
inline

Definition at line 293 of file OrthoMatrix3x3.h.

References m_data, agx::Vec3T< T >::x(), agx::Vec3T< T >::y(), and agx::Vec3T< T >::z().

Referenced by agx::operator*().

◆ ptr() [1/2]

Real * agx::OrthoMatrix3x3::ptr ( )
inline

Definition at line 175 of file OrthoMatrix3x3.h.

Referenced by OrthoMatrix3x3(), operator=(), and set().

◆ ptr() [2/2]

const Real * agx::OrthoMatrix3x3::ptr ( ) const
inline

Definition at line 178 of file OrthoMatrix3x3.h.

◆ rotate() [1/4]

OrthoMatrix3x3 agx::OrthoMatrix3x3::rotate ( const Vec3 from,
const Vec3 to 
)
inlinestatic

Definition at line 266 of file OrthoMatrix3x3.h.

References setRotate().

◆ rotate() [2/4]

OrthoMatrix3x3 agx::OrthoMatrix3x3::rotate ( Real  angle,
const Vec3 axis 
)
inlinestatic

Definition at line 252 of file OrthoMatrix3x3.h.

References setRotate().

◆ rotate() [3/4]

OrthoMatrix3x3 agx::OrthoMatrix3x3::rotate ( Real  angle,
Real  x,
Real  y,
Real  z 
)
inlinestatic

Definition at line 246 of file OrthoMatrix3x3.h.

References setRotate().

◆ rotate() [4/4]

OrthoMatrix3x3 agx::OrthoMatrix3x3::rotate ( Real  angle1,
const Vec3 axis1,
Real  angle2,
const Vec3 axis2,
Real  angle3,
const Vec3 axis3 
)
inlinestatic

Definition at line 258 of file OrthoMatrix3x3.h.

References setRotate().

◆ set() [1/5]

void agx::OrthoMatrix3x3::set ( const OrthoMatrix3x3 rhs)
inline

Definition at line 138 of file OrthoMatrix3x3.h.

References ptr().

◆ set() [2/5]

OrthoMatrix3x3 & agx::OrthoMatrix3x3::set ( const Quat q_)

Set the value of this matrix from the specified quaternion.

Returns
reference to this matrix

◆ set() [3/5]

OrthoMatrix3x3 & agx::OrthoMatrix3x3::set ( EulerAngles e)

Set the rotation of matrix to be the rotation specified in the given EulerAngles object.

Returns
a reference to the updated matrix.

◆ set() [4/5]

void agx::OrthoMatrix3x3::set ( Real  a00,
Real  a01,
Real  a02,
Real  a10,
Real  a11,
Real  a12,
Real  a20,
Real  a21,
Real  a22 
)

◆ set() [5/5]

void agx::OrthoMatrix3x3::set ( Real const *const  ptr)
inline

Definition at line 142 of file OrthoMatrix3x3.h.

◆ setColumn()

void agx::OrthoMatrix3x3::setColumn ( size_t  col,
const agx::Vec3 vec 
)
inline

Set the column of the matrix,.

Parameters
colmust be between [0..2]
vec- value of the column

Definition at line 86 of file OrthoMatrix3x3.h.

◆ setIdentity()

void agx::OrthoMatrix3x3::setIdentity ( )

◆ setRotate() [1/5]

void agx::OrthoMatrix3x3::setRotate ( const Quat )

◆ setRotate() [2/5]

void agx::OrthoMatrix3x3::setRotate ( const Vec3 from,
const Vec3 to 
)

Referenced by rotate().

◆ setRotate() [3/5]

void agx::OrthoMatrix3x3::setRotate ( Real  angle,
const Vec3 axis 
)

◆ setRotate() [4/5]

void agx::OrthoMatrix3x3::setRotate ( Real  angle,
Real  x,
Real  y,
Real  z 
)

◆ setRotate() [5/5]

void agx::OrthoMatrix3x3::setRotate ( Real  angle1,
const Vec3 axis1,
Real  angle2,
const Vec3 axis2,
Real  angle3,
const Vec3 axis3 
)

◆ setRow()

void agx::OrthoMatrix3x3::setRow ( size_t  row,
const agx::Vec3 vec 
)
inline

Set the row of the matrix,.

Parameters
rowmust be between [0..2]
vec- value of the row

Definition at line 66 of file OrthoMatrix3x3.h.

◆ transpose()

OrthoMatrix3x3 agx::OrthoMatrix3x3::transpose ( ) const
inline

Definition at line 280 of file OrthoMatrix3x3.h.

References OrthoMatrix3x3(), and m_data.

Member Data Documentation

◆ m_data

Real agx::OrthoMatrix3x3::m_data[3][3]
protected

Definition at line 235 of file OrthoMatrix3x3.h.

Referenced by operator!=(), operator==(), postMult(), preMult(), and transpose().


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