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

Public Member Functions

 mat3d ()
 
virtual ~mat3d ()
 
 mat3d (const mat3d &a_from)
 
mat3doperator= (const mat3d &a_from)
 
 mat3d (double a_00, double a_01, double a_02, double a_10, double a_11, double a_12, double a_20, double a_21, double a_22)
 
 mat3d (const parent &a_from)
 
mat3doperator= (const parent &a_from)
 
 mat3d (const mat3< float > &a_from)
 
mat3doperator= (const mat3< float > &a_from)
 
void set_rotate (const double &a_x, const double &a_y, const double &a_z, const double &a_angle)
 
void mul_rotate (const double &a_x, const double &a_y, const double &a_z, const double &a_angle)
 
void left_mul_rotate (const double &a_x, const double &a_y, const double &a_z, const double &a_angle)
 
bool get_rotate (double &a_x, double &a_y, double &a_z, double &a_angle)
 
- Public Member Functions inherited from tools::mat3< double >
 mat3 ()
 
 mat3 (const mat< double, 3 > &a_from)
 
 mat3 (const mat3 &a_from)
 
 mat3 (const double &a_00, const double &a_01, const double &a_02, const double &a_10, const double &a_11, const double &a_12, const double &a_20, const double &a_21, const double &a_22)
 
virtual ~mat3 ()
 
mat3operator= (const mat3 &a_from)
 
void set_matrix (const mat3< double > &a_m)
 
void set_matrix (const double &a_00, const double &a_01, const double &a_02, const double &a_10, const double &a_11, const double &a_12, const double &a_20, const double &a_21, const double &a_22)
 
void set_scale (const double &a_s)
 
void set_scale (const double &a_1, const double &a_2, const double &a_3)
 
void set_rotate (const double &a_x, const double &a_y, const double &a_z, const double &a_angle, double(*a_sin)(double), double(*a_cos)(double))
 
bool get_rotate (double &a_x, double &a_y, double &a_z, double &a_angle, double(*a_acos)(double), double(*a_sin)(double), double(*a_sqrt)(double))
 
void mul_3 (double &a_x, double &a_y, double &a_z) const
 
void mul_rotate (const double &a_x, const double &a_y, const double &a_z, const double &a_angle, double(*a_sin)(double), double(*a_cos)(double))
 
void left_mul_rotate (const double &a_x, const double &a_y, const double &a_z, const double &a_angle, double(*a_sin)(double), double(*a_cos)(double))
 
void v00 (const double &a_value)
 
const double & v00 () const
 
void v10 (const double &a_value)
 
const double & v10 () const
 
void v20 (const double &a_value)
 
const double & v20 () const
 
void v01 (const double &a_value)
 
const double & v01 () const
 
void v11 (const double &a_value)
 
const double & v11 () const
 
void v21 (const double &a_value)
 
const double & v21 () const
 
void v02 (const double &a_value)
 
const double & v02 () const
 
void v12 (const double &a_value)
 
const double & v12 () const
 
void v22 (const double &a_value)
 
const double & v22 () const
 
- Public Member Functions inherited from tools::mat< double, 3 >
 mat ()
 
 mat (const mat &a_from)
 
 mat (const double a_v[])
 
virtual ~mat ()
 
matoperator= (const mat &a_from)
 
unsigned int dimension () const
 

Additional Inherited Members

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

Detailed Description

Definition at line 12 of file mat3d.

Constructor & Destructor Documentation

◆ mat3d() [1/5]

tools::mat3d::mat3d ( )
inline

Definition at line 15 of file mat3d.

15 {}

◆ ~mat3d()

virtual tools::mat3d::~mat3d ( )
inlinevirtual

Definition at line 16 of file mat3d.

16 {}

◆ mat3d() [2/5]

tools::mat3d::mat3d ( const mat3d a_from)
inline

Definition at line 18 of file mat3d.

18 :parent(a_from){}

◆ mat3d() [3/5]

tools::mat3d::mat3d ( double  a_00,
double  a_01,
double  a_02,
double  a_10,
double  a_11,
double  a_12,
double  a_20,
double  a_21,
double  a_22 
)
inline

Definition at line 24 of file mat3d.

27  :parent(a_00,a_01,a_02,
28  a_10,a_11,a_12,
29  a_20,a_21,a_22)
30  {}

◆ mat3d() [4/5]

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

Definition at line 31 of file mat3d.

31 :parent(a_from){}

◆ mat3d() [5/5]

tools::mat3d::mat3d ( const mat3< float > &  a_from)
inline

Definition at line 37 of file mat3d.

37  :parent(){
38  for(unsigned int index=0;index<9;index++) {
39  m_vec[index] = a_from.data()[index];
40  }
41  }

Member Function Documentation

◆ get_rotate()

bool tools::mat3d::get_rotate ( double &  a_x,
double &  a_y,
double &  a_z,
double &  a_angle 
)
inline

Definition at line 58 of file mat3d.

58  {
59  return parent::get_rotate(a_x,a_y,a_z,a_angle,::acos,::sin,::sqrt); //warning : acos and not cos.
60  }

◆ left_mul_rotate()

void tools::mat3d::left_mul_rotate ( const double &  a_x,
const double &  a_y,
const double &  a_z,
const double &  a_angle 
)
inline

Definition at line 55 of file mat3d.

55  {
56  parent::left_mul_rotate(a_x,a_y,a_z,a_angle,::sin,::cos);
57  }

◆ mul_rotate()

void tools::mat3d::mul_rotate ( const double &  a_x,
const double &  a_y,
const double &  a_z,
const double &  a_angle 
)
inline

Definition at line 52 of file mat3d.

52  {
53  parent::mul_rotate(a_x,a_y,a_z,a_angle,::sin,::cos);
54  }

◆ operator=() [1/3]

mat3d& tools::mat3d::operator= ( const mat3< float > &  a_from)
inline

Definition at line 42 of file mat3d.

42  {
43  for(unsigned int index=0;index<9;index++) {
44  m_vec[index] = a_from.data()[index];
45  }
46  return *this;
47  }

◆ operator=() [2/3]

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

Definition at line 19 of file mat3d.

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

◆ operator=() [3/3]

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

Definition at line 32 of file mat3d.

32  {
33  parent::operator=(a_from);
34  return *this;
35  }

◆ set_rotate()

void tools::mat3d::set_rotate ( const double &  a_x,
const double &  a_y,
const double &  a_z,
const double &  a_angle 
)
inline

Definition at line 49 of file mat3d.

49  {
50  parent::set_rotate(a_x,a_y,a_z,a_angle,::sin,::cos);
51  }

The documentation for this class was generated from the following file:
tools::mat3< double >::operator=
mat3 & operator=(const mat3 &a_from)
Definition: mat3:27
tools::mat3< double >::get_rotate
bool get_rotate(double &a_x, double &a_y, double &a_z, double &a_angle, double(*a_acos)(double), double(*a_sin)(double), double(*a_sqrt)(double))
Definition: mat3:58
tools::mat< double, 3 >::m_vec
double m_vec[D *D]
Definition: mat:85
tools::mat3< double >::left_mul_rotate
void left_mul_rotate(const double &a_x, const double &a_y, const double &a_z, const double &a_angle, double(*a_sin)(double), double(*a_cos)(double))
Definition: mat3:130
tools::mat3< double >::set_rotate
void set_rotate(const double &a_x, const double &a_y, const double &a_z, const double &a_angle, double(*a_sin)(double), double(*a_cos)(double))
Definition: mat3:54
tools::mat3< double >::mul_rotate
void mul_rotate(const double &a_x, const double &a_y, const double &a_z, const double &a_angle, double(*a_sin)(double), double(*a_cos)(double))
Definition: mat3:124