Matrix4 Class Reference

A 3x3 matrix class. More...

`#include <math/gzmath.hh>`

## Public Member Functions

Matrix4 ()
Constructor. More...

Matrix4 (const Matrix4 &_m)
Copy constructor. More...

Matrix4 (const ignition::math::Matrix4d &_m)
Copy constructor for ignition math. More...

Matrix4 (double _v00, double _v01, double _v02, double _v03, double _v10, double _v11, double _v12, double _v13, double _v20, double _v21, double _v22, double _v23, double _v30, double _v31, double _v32, double _v33)
Constructor. More...

virtual ~Matrix4 ()
Destructor. More...

math::Pose GetAsPose () const
Get the transformation as math::Pose. More...

Vector3 GetEulerRotation (unsigned int solution_number=1) const
Get the rotation as a Euler angles. More...

Quaternion GetRotation () const
Get the rotation as a quaternion. More...

Vector3 GetTranslation () const
Get the translational values as a Vector3. More...

ignition::math::Matrix4d Ign () const
Convert this matrix to an ignition::math::Matrix4d. More...

Matrix4 Inverse () const
Return the inverse matrix. More...

bool IsAffine () const
Return true if the matrix is affine. More...

Matrix4 operator* (const Matrix4 &_mat) const
Multiplication operator. More...

Matrix4 operator* (const Matrix3 &_mat) const
Multiplication operator. More...

Vector3 operator* (const Vector3 &_vec) const
Multiplication operator. More...

Matrix4operator= (const Matrix4 &_mat)
Equal operator. More...

Matrix4operator= (const ignition::math::Matrix4d &_mat)
Equal operator for ignition math. More...

const Matrix4operator= (const Matrix3 &_mat)
Equal operator for 3x3 matrix. More...

bool operator== (const Matrix4 &_m) const
Equality operator. More...

double * operator[] (size_t _row)
Array subscript operator. More...

const double * operator[] (size_t _row) const

void Set (double _v00, double _v01, double _v02, double _v03, double _v10, double _v11, double _v12, double _v13, double _v20, double _v21, double _v22, double _v23, double _v30, double _v31, double _v32, double _v33)
Change the values. More...

void SetScale (const Vector3 &_s)
Set the scale. More...

void SetTranslate (const Vector3 &_t)
Set the translational values [ (0, 3) (1, 3) (2, 3) ]. More...

Vector3 TransformAffine (const Vector3 &_v) const
Perform an affine transformation. More...

## Static Public Attributes

static const Matrix4 IDENTITY
Identity matrix. More...

static const Matrix4 ZERO
Zero matrix. More...

## Protected Attributes

double m [4][4]
The 4x4 matrix. More...

## Friends

std::ostream & operator<< (std::ostream &_out, const gazebo::math::Matrix4 &_m)
Stream insertion operator. More...

## Detailed Description

A 3x3 matrix class.

## Constructor & Destructor Documentation

 Matrix4 ( )

Constructor.

 Matrix4 ( const Matrix4 & _m )

Copy constructor.

Parameters
 _m Matrix to copy
 Matrix4 ( const ignition::math::Matrix4d & _m )

Copy constructor for ignition math.

Parameters
 _m Matrix to copy
 Matrix4 ( double _v00, double _v01, double _v02, double _v03, double _v10, double _v11, double _v12, double _v13, double _v20, double _v21, double _v22, double _v23, double _v30, double _v31, double _v32, double _v33 )

Constructor.

Parameters
 [in] _v00 Row 0, Col 0 value [in] _v01 Row 0, Col 1 value [in] _v02 Row 0, Col 2 value [in] _v03 Row 0, Col 3 value [in] _v10 Row 1, Col 0 value [in] _v11 Row 1, Col 1 value [in] _v12 Row 1, Col 2 value [in] _v13 Row 1, Col 3 value [in] _v20 Row 2, Col 0 value [in] _v21 Row 2, Col 1 value [in] _v22 Row 2, Col 2 value [in] _v23 Row 2, Col 3 value [in] _v30 Row 3, Col 0 value [in] _v31 Row 3, Col 1 value [in] _v32 Row 3, Col 2 value [in] _v33 Row 3, Col 3 value
 virtual ~Matrix4 ( )
virtual

Destructor.

## Member Function Documentation

 math::Pose GetAsPose ( ) const

Get the transformation as math::Pose.

Returns
the pose
 Vector3 GetEulerRotation ( unsigned int solution_number = `1` ) const

Get the rotation as a Euler angles.

Returns
the rotation
 Quaternion GetRotation ( ) const

Get the rotation as a quaternion.

Returns
the rotation
 Vector3 GetTranslation ( ) const

Get the translational values as a Vector3.

Returns
x,y,z
 ignition::math::Matrix4d Ign ( ) const

Convert this matrix to an ignition::math::Matrix4d.

Returns
This matrix as an ignition::math::Matrix4d.
 Matrix4 Inverse ( ) const

Return the inverse matrix.

Returns
Inverse of this matrix.
 bool IsAffine ( ) const

Return true if the matrix is affine.

Returns
true if the matrix is affine, false otherwise
 Matrix4 operator* ( const Matrix4 & _mat ) const

Multiplication operator.

Parameters
 _mat Incoming matrix
Returns
This matrix * _mat
 Matrix4 operator* ( const Matrix3 & _mat ) const

Multiplication operator.

Parameters
 _mat Incoming matrix
Returns
This matrix * _mat
 Vector3 operator* ( const Vector3 & _vec ) const

Multiplication operator.

Parameters
 _vec Vector3
Returns
Resulting vector from multiplication
 Matrix4& operator= ( const Matrix4 & _mat )

Equal operator.

this = _mat

Parameters
 _mat Incoming matrix
Returns
itself
 Matrix4& operator= ( const ignition::math::Matrix4d & _mat )

Equal operator for ignition math.

Parameters
 _mat Incoming matrix
Returns
itself
 const Matrix4& operator= ( const Matrix3 & _mat )

Equal operator for 3x3 matrix.

Parameters
 _mat Incoming matrix
Returns
itself
 bool operator== ( const Matrix4 & _m ) const

Equality operator.

Parameters
 [in] _m Matrix3 to test
Returns
true if the 2 matrices are equal (using the tolerance 1e-6), false otherwise
 double* operator[] ( size_t _row )
inline

Array subscript operator.

Parameters
 [in] _row the row index
Returns
the row

References Matrix4::m.

 const double* operator[] ( size_t _row ) const
inline
Parameters
 [in] _row the row index
Returns
the row

References Matrix4::m.

 void Set ( double _v00, double _v01, double _v02, double _v03, double _v10, double _v11, double _v12, double _v13, double _v20, double _v21, double _v22, double _v23, double _v30, double _v31, double _v32, double _v33 )

Change the values.

Parameters
 [in] _v00 Row 0, Col 0 value [in] _v01 Row 0, Col 1 value [in] _v02 Row 0, Col 2 value [in] _v03 Row 0, Col 3 value [in] _v10 Row 1, Col 0 value [in] _v11 Row 1, Col 1 value [in] _v12 Row 1, Col 2 value [in] _v13 Row 1, Col 3 value [in] _v20 Row 2, Col 0 value [in] _v21 Row 2, Col 1 value [in] _v22 Row 2, Col 2 value [in] _v23 Row 2, Col 3 value [in] _v30 Row 3, Col 0 value [in] _v31 Row 3, Col 1 value [in] _v32 Row 3, Col 2 value [in] _v33 Row 3, Col 3 value
 void SetScale ( const Vector3 & _s )

Set the scale.

Parameters
 [in] _s scale
 void SetTranslate ( const Vector3 & _t )

Set the translational values [ (0, 3) (1, 3) (2, 3) ].

Parameters
 [in] _t Values to set
 Vector3 TransformAffine ( const Vector3 & _v ) const

Perform an affine transformation.

Parameters
 _v Vector3 value for the transformation
Returns
The result of the transformation

## Friends And Related Function Documentation

 std::ostream& operator<< ( std::ostream & _out, const gazebo::math::Matrix4 & _m )
friend

Stream insertion operator.

Parameters
 _out output stream _m Matrix to output
Returns
the stream

## Member Data Documentation

 const Matrix4 IDENTITY
static

Identity matrix.

 double m[4][4]
protected

The 4x4 matrix.

Referenced by Matrix4::operator[]().

 const Matrix4 ZERO
static

Zero matrix.

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