glVertex  5.5.2
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
mat3 Class Reference

3x3 double matrix More...

#include <glslmath.h>

Public Member Functions

 mat3 (double diag=1.0)
 default constructor
 
 mat3 (const vec3 &diag)
 custom constructor
 
 mat3 (const vec3 &r1, const vec3 &r2, const vec3 &r3=vec3(0, 0, 1))
 custom constructor
 
 mat3 (const mat2 &m)
 copy constructor
 
 mat3 (const mat3f &m)
 copy constructor
 
vec3 operator[] (const int i) const
 subscript operator (column getter)
 
vec3 row (const int i) const
 row getter
 
vec3 col (const int i) const
 column getter
 
 operator mat2 () const
 down cast operator
 
const double * c_ptr () const
 const pointer to column-major array
 
 operator const double * () const
 cast operator to column-major array
 
void fromOpenGL (const double m[9])
 convert from 9-element column-major OpenGL matrix
 
double det () const
 calculate determinant of 3x3 matrix
 
mat3 transpose () const
 transpose 3x3 matrix
 
mat3 invert () const
 invert 3x3 matrix
 
mat3operator+= (const mat3 &m)
 inplace addition
 
mat3operator*= (const mat3 &m)
 inplace multiplication
 
mat3operator<<= (const mat3 &m)
 inplace multiplication (left-hand side)
 
mat3operator>>= (const mat3 &m)
 inplace multiplication (right-hand side)
 
 operator std::string ()
 string cast operator
 

Static Public Member Functions

static mat3 columns (const vec3 &c1, const vec3 &c2, const vec3 &c3)
 construct matrix from column vectors
 
static mat3 columns (double a, double b, double c, double d, double e, double f, double g, double h, double i)
 construct matrix from column vectors
 
static mat3 rows (const vec3 &r1, const vec3 &r2, const vec3 &r3)
 construct matrix from row vectors
 
static mat3 rows (double a, double b, double c, double d, double e, double f, double g, double h, double i)
 construct matrix from row vectors
 
static double det (const mat3 &m)
 static version of determinant operation
 
static mat3 transpose (const mat3 &m)
 static version of transpose operation
 
static mat3 invert (const mat3 &m)
 static version of invert operation
 
static mat3 scale (double s, double t, double r)
 create scaling matrix
 
static mat3 scale (const vec3 &c)
 create scaling matrix
 
static mat3 rotate (double angle, double vx, double vy, double vz)
 create rotation matrix More...
 
static mat3 rotate (double angle, const vec3 &v)
 create rotation matrix More...
 
static mat3 rotate (const vec3 &from, const vec3 &to)
 create rotation matrix More...
 

Protected Attributes

union {
}; 
 matrix elements
 

Detailed Description

3x3 double matrix

Member Function Documentation

◆ rotate() [1/3]

static mat3 mat3::rotate ( const vec3 from,
const vec3 to 
)
inlinestatic

create rotation matrix

  • rotation is specified as a transformation from one direction to another one

◆ rotate() [2/3]

static mat3 mat3::rotate ( double  angle,
const vec3 v 
)
inlinestatic

create rotation matrix

  • rotation angle is specified clockwise in OpenGL coordinates

◆ rotate() [3/3]

static mat3 mat3::rotate ( double  angle,
double  vx,
double  vy,
double  vz 
)
inlinestatic

create rotation matrix

  • rotation angle is specified clockwise in OpenGL coordinates

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