g4tools  5.4.0
Public Member Functions | List of all members
tools::mat4f Class Reference
Inheritance diagram for tools::mat4f:
Inheritance graph
[legend]
Collaboration diagram for tools::mat4f:
Collaboration graph
[legend]

Public Member Functions

 mat4f ()
 
virtual ~mat4f ()
 
 mat4f (const mat4f &a_from)
 
mat4foperator= (const mat4f &a_from)
 
 mat4f (float a_00, float a_01, float a_02, float a_03, float a_10, float a_11, float a_12, float a_13, float a_20, float a_21, float a_22, float a_23, float a_30, float a_31, float a_32, float a_33)
 
 mat4f (const parent &a_from)
 
mat4foperator= (const parent &a_from)
 
void set_rotate (const float &a_x, const float &a_y, const float &a_z, const float &a_angle)
 
void mul_rotate (const float &a_x, const float &a_y, const float &a_z, const float &a_angle)
 
void left_mul_rotate (const float &a_x, const float &a_y, const float &a_z, const float &a_angle)
 
template<class VEC >
void set_rotate (const VEC &a_dir, float a_angle)
 
void mul_2f (float &a_x, float &a_y) const
 
void mul_3f (float &a_x, float &a_y, float &a_z) const
 
void mul_dir_3f (float &a_x, float &a_y, float &a_z) const
 
void mul_trans_3f (float &a_x, float &a_y, float &a_z) const
 
void mul_4f (float &a_x, float &a_y, float &a_z, float &a_w) const
 
void mul_dir_3d (double &a_x, double &a_y, double &a_z) const
 
- Public Member Functions inherited from tools::mat4< float >
 mat4 ()
 
 mat4 (const mat< float, 4 > &a_from)
 
 mat4 (const mat4 &a_from)
 
 mat4 (const float &a_00, const float &a_01, const float &a_02, const float &a_03, const float &a_10, const float &a_11, const float &a_12, const float &a_13, const float &a_20, const float &a_21, const float &a_22, const float &a_23, const float &a_30, const float &a_31, const float &a_32, const float &a_33)
 
virtual ~mat4 ()
 
mat4operator= (const mat4 &a_from)
 
void set_matrix (const mat4< float > &a_m)
 
void set_matrix (const float &a_00, const float &a_01, const float &a_02, const float &a_03, const float &a_10, const float &a_11, const float &a_12, const float &a_13, const float &a_20, const float &a_21, const float &a_22, const float &a_23, const float &a_30, const float &a_31, const float &a_32, const float &a_33)
 
void set_scale (const float &a_s)
 
void set_scale (const float &a_1, const float &a_2, const float &a_3)
 
void set_translate (const float &a_x, const float &a_y, const float &a_z)
 
void set_rotate (const float &a_x, const float &a_y, const float &a_z, const float &a_angle, float(*a_sin)(float), float(*a_cos)(float))
 
void set_ortho (const float &a_l, const float &a_r, const float &a_b, const float &a_t, const float &a_n, const float &a_f)
 
void set_frustum (const float &a_l, const float &a_r, const float &a_b, const float &a_t, const float &a_n, const float &a_f)
 
void get_translate (float &a_x, float &a_y, float &a_z) const
 
void no_translate ()
 
void mul_4 (float &a_x, float &a_y, float &a_z, float &a_p) const
 
void mul_3 (float &a_x, float &a_y, float &a_z) const
 
void mul_2 (float &a_x, float &a_y) const
 
void mul_dir_3 (float &a_x, float &a_y, float &a_z) const
 
void mul_dir_3 (VEC &a_dir) const
 
void mul_trans_3 (float &a_x, float &a_y, float &a_z) const
 
void mul_scale (const float &a_sx, const float &a_sy, const float &a_sz)
 
void mul_scale (const float &a_s)
 
void mul_translate (const float &a_x, const float &a_y, const float &a_z)
 
void mul_rotate (const float &a_x, const float &a_y, const float &a_z, const float &a_angle, float(*a_sin)(float), float(*a_cos)(float))
 
void left_mul_rotate (const float &a_x, const float &a_y, const float &a_z, const float &a_angle, float(*a_sin)(float), float(*a_cos)(float))
 
void left_mul_scale (const float &a_x, const float &a_y, const float &a_z)
 
void left_mul_translate (const float &a_x, const float &a_y, const float &a_z)
 
void v00 (const float &a_value)
 
const float & v00 () const
 
void v10 (const float &a_value)
 
const float & v10 () const
 
void v20 (const float &a_value)
 
const float & v20 () const
 
void v30 (const float &a_value)
 
const float & v30 () const
 
void v01 (const float &a_value)
 
const float & v01 () const
 
void v11 (const float &a_value)
 
const float & v11 () const
 
void v21 (const float &a_value)
 
const float & v21 () const
 
void v31 (const float &a_value)
 
const float & v31 () const
 
void v02 (const float &a_value)
 
const float & v02 () const
 
void v12 (const float &a_value)
 
const float & v12 () const
 
void v22 (const float &a_value)
 
const float & v22 () const
 
void v32 (const float &a_value)
 
const float & v32 () const
 
void v03 (const float &a_value)
 
const float & v03 () const
 
void v13 (const float &a_value)
 
const float & v13 () const
 
void v23 (const float &a_value)
 
const float & v23 () const
 
void v33 (const float &a_value)
 
const float & v33 () const
 
void mul_mtx_rot_root (const float &a_00, const float &a_01, const float &a_02, const float &a_10, const float &a_11, const float &a_12, const float &a_20, const float &a_21, const float &a_22)
 
void set_mat3 (MAT3 &a_m3)
 
- Public Member Functions inherited from tools::mat< float, 4 >
 mat ()
 
 mat (const mat &a_from)
 
 mat (const float a_v[])
 
virtual ~mat ()
 
matoperator= (const mat &a_from)
 
unsigned int dimension () const
 

Additional Inherited Members

- Static Protected Member Functions inherited from tools::mat4< float >
static void _set_translate (const float &a_x, const float &a_y, const float &a_z, float v[])
 
static void _set_scale (const float &a_1, const float &a_2, const float &a_3, float v[])
 
static void _set_rotate (const float &a_x, const float &a_y, const float &a_z, const float &a_angle, float v[], float(*a_sin)(float), float(*a_cos)(float))
 
- Protected Attributes inherited from tools::mat< float, 4 >
float m_vec [D *D]
 

Detailed Description

Definition at line 12 of file mat4f.

Constructor & Destructor Documentation

◆ mat4f() [1/4]

tools::mat4f::mat4f ( )
inline

Definition at line 15 of file mat4f.

15 {}

◆ ~mat4f()

virtual tools::mat4f::~mat4f ( )
inlinevirtual

Definition at line 16 of file mat4f.

16 {}

◆ mat4f() [2/4]

tools::mat4f::mat4f ( const mat4f a_from)
inline

Definition at line 18 of file mat4f.

18 :parent(a_from){}

◆ mat4f() [3/4]

tools::mat4f::mat4f ( float  a_00,
float  a_01,
float  a_02,
float  a_03,
float  a_10,
float  a_11,
float  a_12,
float  a_13,
float  a_20,
float  a_21,
float  a_22,
float  a_23,
float  a_30,
float  a_31,
float  a_32,
float  a_33 
)
inline

Definition at line 24 of file mat4f.

28  :parent(a_00,a_01,a_02,a_03,
29  a_10,a_11,a_12,a_13,
30  a_20,a_21,a_22,a_23,
31  a_30,a_31,a_32,a_33)
32  {}

◆ mat4f() [4/4]

tools::mat4f::mat4f ( const parent a_from)
inline

Definition at line 33 of file mat4f.

33 :parent(a_from){}

Member Function Documentation

◆ left_mul_rotate()

void tools::mat4f::left_mul_rotate ( const float &  a_x,
const float &  a_y,
const float &  a_z,
const float &  a_angle 
)
inline

Definition at line 46 of file mat4f.

46  {
47  parent::left_mul_rotate(a_x,a_y,a_z,a_angle,::sinf,::cosf);
48  }

◆ mul_2f()

void tools::mat4f::mul_2f ( float &  a_x,
float &  a_y 
) const
inline

Definition at line 57 of file mat4f.

57 {parent::mul_2(a_x,a_y);}

◆ mul_3f()

void tools::mat4f::mul_3f ( float &  a_x,
float &  a_y,
float &  a_z 
) const
inline

Definition at line 58 of file mat4f.

58 {parent::mul_3(a_x,a_y,a_z);}

◆ mul_4f()

void tools::mat4f::mul_4f ( float &  a_x,
float &  a_y,
float &  a_z,
float &  a_w 
) const
inline

Definition at line 61 of file mat4f.

61 {parent::mul_4(a_x,a_y,a_z,a_w);}

◆ mul_dir_3d()

void tools::mat4f::mul_dir_3d ( double &  a_x,
double &  a_y,
double &  a_z 
) const
inline

Definition at line 62 of file mat4f.

62  { //used in sg::healpix
63  float x = float(a_x);
64  float y = float(a_y);
65  float z = float(a_z);
66  parent::mul_dir_3(x,y,z);
67  a_x = x;a_y = y;a_z = z;
68  }

◆ mul_dir_3f()

void tools::mat4f::mul_dir_3f ( float &  a_x,
float &  a_y,
float &  a_z 
) const
inline

Definition at line 59 of file mat4f.

59 {parent::mul_dir_3(a_x,a_y,a_z);}

◆ mul_rotate()

void tools::mat4f::mul_rotate ( const float &  a_x,
const float &  a_y,
const float &  a_z,
const float &  a_angle 
)
inline

Definition at line 43 of file mat4f.

43  {
44  parent::mul_rotate(a_x,a_y,a_z,a_angle,::sinf,::cosf);
45  }

◆ mul_trans_3f()

void tools::mat4f::mul_trans_3f ( float &  a_x,
float &  a_y,
float &  a_z 
) const
inline

Definition at line 60 of file mat4f.

60 {parent::mul_trans_3(a_x,a_y,a_z);}

◆ operator=() [1/2]

mat4f& tools::mat4f::operator= ( const mat4f a_from)
inline

Definition at line 19 of file mat4f.

19  {
20  parent::operator=(a_from);
21  return *this;
22  }

◆ operator=() [2/2]

mat4f& tools::mat4f::operator= ( const parent a_from)
inline

Definition at line 34 of file mat4f.

34  {
35  parent::operator=(a_from);
36  return *this;
37  }

◆ set_rotate() [1/2]

void tools::mat4f::set_rotate ( const float &  a_x,
const float &  a_y,
const float &  a_z,
const float &  a_angle 
)
inline

Definition at line 39 of file mat4f.

39  {
40  //WARNING : (a_x,a_y,a_z) must be a normalized vector.
41  parent::set_rotate(a_x,a_y,a_z,a_angle,::sinf,::cosf);
42  }

◆ set_rotate() [2/2]

template<class VEC >
void tools::mat4f::set_rotate ( const VEC &  a_dir,
float  a_angle 
)
inline

Definition at line 51 of file mat4f.

51  {
52  //WARNING : a_dir must be a normalized vector.
53  parent::set_rotate(a_dir[0],a_dir[1],a_dir[2],a_angle,::sinf,::cosf);
54  }

The documentation for this class was generated from the following file:
tools::mat4< float >::mul_2
void mul_2(float &a_x, float &a_y) const
Definition: mat4:198
tools::mat4< float >::left_mul_rotate
void left_mul_rotate(const float &a_x, const float &a_y, const float &a_z, const float &a_angle, float(*a_sin)(float), float(*a_cos)(float))
Definition: mat4:285
tools::mat4< float >::set_rotate
void set_rotate(const float &a_x, const float &a_y, const float &a_z, const float &a_angle, float(*a_sin)(float), float(*a_cos)(float))
Definition: mat4:61
tools::mat4< float >::operator=
mat4 & operator=(const mat4 &a_from)
Definition: mat4:27
tools::mat4< float >::mul_4
void mul_4(float &a_x, float &a_y, float &a_z, float &a_p) const
Definition: mat4:168
tools::mat4< float >::mul_3
void mul_3(float &a_x, float &a_y, float &a_z) const
Definition: mat4:184
tools::mat4< float >::mul_dir_3
void mul_dir_3(float &a_x, float &a_y, float &a_z) const
Definition: mat4:211
tools::mat4< float >::mul_trans_3
void mul_trans_3(float &a_x, float &a_y, float &a_z) const
Definition: mat4:223
tools::mat4< float >::mul_rotate
void mul_rotate(const float &a_x, const float &a_y, const float &a_z, const float &a_angle, float(*a_sin)(float), float(*a_cos)(float))
Definition: mat4:279