This page has been translated automatically.
UnigineScript
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Samples
Usage Examples
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Migration
Migrating to UNIGINE 2.0
C++ API Migration
Migrating from UNIGINE 2.0 to UNIGINE 2.1
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine::dmat4 Struct

Matrix of 3x4 double components.

To use this structure, include the UnigineMathLib.h file.

Unigine::dmat4 Structure

Members


UNIGINE_DECLARE_USE_MEMORY dmat4 ()

Default constructor that produces an identity matrix.

explicit dmat4 (const mat4 & m)

Initialization by a matrix.

Arguments

  • const mat4 & m - The value of the matrix.

explicit dmat4 (const quat & q)

Initialization by a quaternion.

Arguments

  • const quat & q - The value of the quaternion.

explicit dmat4 (const double * m, int transpose, int square)

Initialization by a pointer to the matrix.

Arguments

  • const double * m - Pointer to the matrix.
  • int transpose - If transpose is 0 (by default), the matrix is specified in the column-major style.
  • int square - If square is 0 (by default), the matrix is treated as 4x3 matrix.

dmat4 & operator*= (const dmat4 & m)

Matrix multiplication.

Arguments

  • const dmat4 & m - The value of the matrix.

Return value

The resulting matrix.

UNIGINE_INLINE double & operator[] (int i)

Array access.

Arguments

  • int i - Array item index.

Return value

Array item.

UNIGINE_INLINE double operator[] (int i) const

Constant array access.

Arguments

  • int i - Array item index.

Return value

Array item.

UNIGINE_INLINE void set (int row, int column, double v)

Set matrix item.

Arguments

  • int row - The row number.
  • int column - The column number.
  • double v - The matrix item.

UNIGINE_INLINE double & get (int row, int column)

Get matrix item.

Arguments

  • int row - The row number.
  • int column - The column number.

Return value

The matrix item.

UNIGINE_INLINE double get (int row, int column) const

Get constant matrix item.

Arguments

  • int row - The row number.
  • int column - The column number.

Return value

The matrix item.

void set (const double * m, int transpose, int square)

Set matrix.

Arguments

  • const double * m - Pointer to the matrix.
  • int transpose - If transpose is 0 (by default), the matrix is specified in the column major style.
  • int square - If square is 0 (by default), the matrix is treated as 4x3 matrix.

void get (double * m, int transpose, int square) const

Get matrix.

Arguments

  • double * m - Pointer to the matrix.
  • int transpose - If transpose is 0 (by default), the matrix is specified in the column major style.
  • int square - If square is 0 (by default), the matrix is treated as 4x3 matrix.

UNIGINE_INLINE double * get ()

Get a pointer to the matrix.

Return value

Pointer to the matrix.

UNIGINE_INLINE const double * get () const

Get a constant pointer to the matrix.

Return value

Pointer to the matrix.

void setRow (int row, const dvec4 & v)

Sets the matrix row.

Arguments

  • int row - The row number.
  • const dvec4 & v - Row value.

void setRow3 (int row, const dvec3 & v)

Sets the new value for the given matrix row.

Arguments

  • int row - The row number.
  • const dvec3 & v - Row value.

dvec4 getRow (int row) const

Get matrix row.

Arguments

  • int row - The row number.

Return value

Row value.

dvec3 getRow3 (int row) const

Returns the current value of the given matrix row. If such a row does not exist, the matrix identity is returned.

Arguments

  • int row - The row number.

Return value

Row value.

void setColumn (int column, const dvec4 & v)

Set matrix column.

Arguments

  • int column - The column number.
  • const dvec4 & v - Column value.

void setColumn3 (int column, const dvec3 & v)

Sets the new value for the given matrix column.

Arguments

  • int column - Column number.
  • const dvec3 & v - Row value.

dvec4 getColumn (int column) const

Get matrix row.

Arguments

  • int column - Row number.

Return value

Row value.

dvec3 getColumn3 (int column) const

Returns the current value of the given matrix column. If such a column does not exist, the matrix identity is returned.

Arguments

  • int column - Column number.

Return value

Row value.

void setIdentity ()

Set identity matrix.

void setTranslate (const dvec3 & v)

Set translation matrix.

Arguments

  • const dvec3 & v - The value of the translation vector.

dvec3 getTranslate () const

Get translation part of the matrix.

Return value

Matrix translation part.

void setRotate (const dvec3 & axis, double angle)

Set rotation matrix.

Arguments

  • const dvec3 & axis - Rotation axis.
  • double angle - Rotation angle (in degrees).

quat getRotate () const

Get rotation part of the matrix.

Return value

Matrix rotation part.

void setRotateX (double angle)

Set X rotation matrix.

Arguments

  • double angle - Rotation angle (in degrees).

void setRotateY (double angle)

Set Y rotation matrix.

Arguments

  • double angle - Rotation angle (in degrees).

void setRotateZ (double angle)

Set Z rotation matrix.

Arguments

  • double angle - Rotation angle (in degrees).

void setScale (const dvec3 & v)

Set scale matrix.

Arguments

  • const dvec3 & v - The value of the scaling vector.

vec3 getScale () const

Get scaling part of the matrix.

Return value

Matrix scaling part.

Unigine::dmat4:: Union

union {
struct {
double m00;
double m10;
double m20;
double m01;
double m11;
double m21;
double m02;
double m12;
double m22;
double m03;
double m13;
double m23;
};
double mat[12];
};
Last update: 2017-07-03
Build: ()