C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
VSN::Matrix3DF Class Reference

The matrix of transformation in a three-dimensional space. More...

#include <vsn_matrix3d.h>

+ Collaboration diagram for VSN::Matrix3DF:

Public Member Functions

 Matrix3DF ()
 Default constructor. Defines the identity matrix.
 
 Matrix3DF (const float *pElements)
 The constructor with ability to set elements of the matrix.
 
 Matrix3DF (float el00, float el01, float el02, float el03, float el10, float el11, float el12, float el13, float el20, float el21, float el22, float el23, float el30, float el31, float el32, float el33)
 The constructor with ability to set elements of the matrix.
 
 Matrix3DF (const Matrix3DF &)=default
 The copy constructor.
 
 Matrix3DF (Matrix3DF &&)=default
 The move constructor.
 
 Matrix3DF (const MbMatrix3D &m)
 
void SetElement (uint j, uint i, float value)
 Assign a value to the matrix element.
 
float GetElement (uint j, uint i) const
 Get an element of the matrix.
 
Vector3DF GetAxisX () const
 Get the first row (the X-axis).
 
Vector3DF GetAxisY () const
 Get the second row (the Y-axis).
 
Vector3DF GetAxisZ () const
 Get the third row (the Z-axis).
 
void SetOrigin (const Point3DF &origin)
 Set the fourth row (the origin of coordinates)
 
Point3DF GetOrigin () const
 Give the fourth row (the origin of coordinates)
 
Matrix3DFRotate (const Vector3DF &v, double angle)
 Rotate around an axis.
 
Matrix3DFRotate (const Point3DF &p, const Vector3DF &dir, double angle)
 Rotate around axis by angle.
 
Matrix3DFMove (const Vector3DF &)
 Translate by a given vector.
 
Matrix3DFScale (float)
 Scale by X, Y and Z.
 
float GetScaleX () const
 Get scaling coefficient by X.
 
float GetScaleY () const
 Get scaling coefficient by Y.
 
float GetScaleZ () const
 Get scaling coefficient by Z.
 
Matrix3DFMultiply (const Matrix3DF &m)
 Multiply by a matrix.
 
Matrix3DFAdj ()
 Transpose a matrix.
 
Matrix3DFTransform (const Matrix3DF &matr)
 Transform according to the given matrix.
 
bool IsEqual (const Matrix3DF &) const
 Determine whether an object is equal?
 
const float * GetPointer () const
 Get an elements pointer.
 
Matrix3DFoperator= (const Matrix3DF &)=default
 Assign a value.
 
Matrix3DFoperator= (Matrix3DF &&)=default
 Move a value.
 
Matrix3DF operator* (const Matrix3DF &m) const
 Multiply by a matrix: M = this * m.
 
Matrix3DFoperator*= (const Matrix3DF &m)
 Multiply by a matrix: this = this * m.
 

Detailed Description

The matrix of transformation in a three-dimensional space.

The extended matrix of transformation in a three-dimensional space.
The extended matrix has dimension (4, 4) and is a regular matrix bordered below by a translation vector and by the null column to the right. The transformation of point "p" by the matrix "M" has the form: r = p * M (the row of coordinates is multiplied by the matrix to the left).
The transformation matrix from a local coordinate system can be obtained as follows:
the first row must be filled with the corresponding components of the first vector of a locale system, the second row must be filled with the corresponding components of the second vector of a local system, the third row must be filled with the corresponding components of the third vector of a locale system, the last row of the matrix must be filled with the corresponding coordinates of a local system origin.


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