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

Public Member Functions

 sf_mat4f ()
 
 sf_mat4f (const mat4f &a_value)
 
virtual ~sf_mat4f ()
 
 sf_mat4f (const sf_mat4f &a_from)
 
sf_mat4foperator= (const sf_mat4f &a_from)
 
sf_mat4foperator= (const mat4f &a_value)
 
void set_identity ()
 
void set_translate (float a_x, float a_y, float a_z)
 
void set_translate (const vec3f &a_v)
 
void set_scale (float a_x, float a_y, float a_z)
 
void set_scale (float a_s)
 
void set_rotate (float a_x, float a_y, float a_z, float a_angle)
 
void set_rotate (const vec3f &a_v, float a_angle)
 
void mul_mtx (const mat4f &a_m, float a_tmp[])
 
void mul_translate (float a_x, float a_y, float a_z)
 
void mul_translate (const vec3f &a_v)
 
void mul_scale (float a_x, float a_y, float a_z)
 
void mul_scale (float a_s)
 
void mul_rotate (float a_x, float a_y, float a_z, float a_angle)
 
void mul_rotate (const vec3f &a_axis, float a_angle)
 
void left_mul_rotate (float a_x, float a_y, float a_z, float a_angle)
 
void left_mul_scale (float a_x, float a_y, float a_z)
 
void left_mul_translate (float a_x, float a_y, float a_z)
 
void left_mul_translate (const vec3f &a_v)
 
bool set_rotate (const vec3f &a_from, const vec3f &a_to, float[])
 
bool mul_rotate (const vec3f &a_from, const vec3f &a_to, float a_tmp[])
 
- Public Member Functions inherited from tools::sg::sf_vec< mat4f, float >
virtual void * cast (const std::string &a_class) const
 
virtual const std::string & s_cls () const
 
virtual bool write (io::iwbuf &a_buffer)
 
virtual bool read (io::irbuf &a_buffer)
 
virtual bool dump (std::ostream &a_out)
 
virtual bool s_value (std::string &a_s) const
 
virtual bool s2value (const std::string &a_s)
 
 sf_vec ()
 
 sf_vec (const mat4f &a_value)
 
 sf_vec (const sf_vec &a_from)
 
virtual ~sf_vec ()
 
sf_vecoperator= (const sf_vec &a_from)
 
sf_vecoperator= (const mat4f &a_value)
 
sf_vecoperator+= (const mat4f &a_value)
 
- Public Member Functions inherited from tools::sg::bsf< mat4f >
 bsf (const mat4f &a_value)
 
 bsf (const bsf &a_from)
 
virtual ~bsf ()
 
bsfoperator= (const bsf &a_from)
 
bsfoperator= (const mat4f &a_value)
 
bool operator== (const bsf &a_from) const
 
bool operator== (const mat4f &a_value) const
 
bool operator!= (const bsf &a_from) const
 
bool operator!= (const mat4f &a_value) const
 
 operator const mat4f & () const
 
 operator mat4f ()
 
mat4fvalue ()
 
const mat4fvalue () const
 
void value (const mat4f &a_value)
 
void value_no_cmp (const mat4f &a_value)
 
void setValue (const mat4f &a_value)
 
const mat4fgetValue () const
 
- Public Member Functions inherited from tools::sg::field
virtual const std::string & s_cls () const =0
 
virtual ~field ()
 
void touch ()
 
bool touched () const
 
void reset_touched ()
 

Additional Inherited Members

- Static Public Member Functions inherited from tools::sg::sf_vec< mat4f, float >
static const std::string & s_class ()
 
- Static Public Member Functions inherited from tools::sg::bsf< mat4f >
static const std::string & s_class ()
 
- Protected Member Functions inherited from tools::sg::bsf< mat4f >
 bsf ()
 
- Protected Member Functions inherited from tools::sg::field
 field ()
 
 field (const field &)
 
fieldoperator= (const field &)
 
- Protected Attributes inherited from tools::sg::bsf< mat4f >
mat4f m_value
 
- Protected Attributes inherited from tools::sg::field
bool m_touched
 

Detailed Description

Definition at line 18 of file sf_mat4f.

Constructor & Destructor Documentation

◆ sf_mat4f() [1/3]

tools::sg::sf_mat4f::sf_mat4f ( )
inline

Definition at line 22 of file sf_mat4f.

22 :parent(){}

◆ sf_mat4f() [2/3]

tools::sg::sf_mat4f::sf_mat4f ( const mat4f a_value)
inline

Definition at line 23 of file sf_mat4f.

23 :parent(a_value){}

◆ ~sf_mat4f()

virtual tools::sg::sf_mat4f::~sf_mat4f ( )
inlinevirtual

Definition at line 24 of file sf_mat4f.

24 {}

◆ sf_mat4f() [3/3]

tools::sg::sf_mat4f::sf_mat4f ( const sf_mat4f a_from)
inline

Definition at line 26 of file sf_mat4f.

26 :parent(a_from){}

Member Function Documentation

◆ left_mul_rotate()

void tools::sg::sf_mat4f::left_mul_rotate ( float  a_x,
float  a_y,
float  a_z,
float  a_angle 
)
inline

Definition at line 98 of file sf_mat4f.

98  {
99  m_value.left_mul_rotate(a_x,a_y,a_z,a_angle);
100  m_touched = true;
101  }

◆ left_mul_scale()

void tools::sg::sf_mat4f::left_mul_scale ( float  a_x,
float  a_y,
float  a_z 
)
inline

Definition at line 103 of file sf_mat4f.

103  {
104  m_value.left_mul_scale(a_x,a_y,a_z);
105  m_touched = true;
106  }

◆ left_mul_translate() [1/2]

void tools::sg::sf_mat4f::left_mul_translate ( const vec3f a_v)
inline

Definition at line 113 of file sf_mat4f.

113  {
114  m_value.left_mul_translate(a_v.x(),a_v.y(),a_v.z());
115  m_touched = true;
116  }

◆ left_mul_translate() [2/2]

void tools::sg::sf_mat4f::left_mul_translate ( float  a_x,
float  a_y,
float  a_z 
)
inline

Definition at line 108 of file sf_mat4f.

108  {
109  m_value.left_mul_translate(a_x,a_y,a_z);
110  m_touched = true;
111  }

◆ mul_mtx()

void tools::sg::sf_mat4f::mul_mtx ( const mat4f a_m,
float  a_tmp[] 
)
inline

Definition at line 66 of file sf_mat4f.

66  {
67  m_value.mul_mtx(a_m,a_tmp);
68  m_touched = true;
69  }

◆ mul_rotate() [1/3]

void tools::sg::sf_mat4f::mul_rotate ( const vec3f a_axis,
float  a_angle 
)
inline

Definition at line 93 of file sf_mat4f.

93  {
94  m_value.mul_rotate(a_axis.x(),a_axis.y(),a_axis.z(),a_angle);
95  m_touched = true;
96  }

◆ mul_rotate() [2/3]

bool tools::sg::sf_mat4f::mul_rotate ( const vec3f a_from,
const vec3f a_to,
float  a_tmp[] 
)
inline

Definition at line 126 of file sf_mat4f.

126  {
127  rotf qr;
128  if(!qr.set_value(a_from,a_to)) return false;
129  mat4f rot;
130  qr.value(rot);
131  m_value.mul_mtx(rot,a_tmp);
132  m_touched = true;
133  return true;
134  }

◆ mul_rotate() [3/3]

void tools::sg::sf_mat4f::mul_rotate ( float  a_x,
float  a_y,
float  a_z,
float  a_angle 
)
inline

Definition at line 88 of file sf_mat4f.

88  {
89  m_value.mul_rotate(a_x,a_y,a_z,a_angle);
90  m_touched = true;
91  }

◆ mul_scale() [1/2]

void tools::sg::sf_mat4f::mul_scale ( float  a_s)
inline

Definition at line 83 of file sf_mat4f.

83  {
84  m_value.mul_scale(a_s);
85  m_touched = true;
86  }

◆ mul_scale() [2/2]

void tools::sg::sf_mat4f::mul_scale ( float  a_x,
float  a_y,
float  a_z 
)
inline

Definition at line 79 of file sf_mat4f.

79  {
80  m_value.mul_scale(a_x,a_y,a_z);
81  m_touched = true;
82  }

◆ mul_translate() [1/2]

void tools::sg::sf_mat4f::mul_translate ( const vec3f a_v)
inline

Definition at line 75 of file sf_mat4f.

75  {
76  m_value.mul_translate(a_v.x(),a_v.y(),a_v.z());
77  m_touched = true;
78  }

◆ mul_translate() [2/2]

void tools::sg::sf_mat4f::mul_translate ( float  a_x,
float  a_y,
float  a_z 
)
inline

Definition at line 71 of file sf_mat4f.

71  {
72  m_value.mul_translate(a_x,a_y,a_z);
73  m_touched = true;
74  }

◆ operator=() [1/2]

sf_mat4f& tools::sg::sf_mat4f::operator= ( const mat4f a_value)
inline

Definition at line 32 of file sf_mat4f.

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

◆ operator=() [2/2]

sf_mat4f& tools::sg::sf_mat4f::operator= ( const sf_mat4f a_from)
inline

Definition at line 27 of file sf_mat4f.

27  {
28  parent::operator=(a_from);
29  return *this;
30  }

◆ set_identity()

void tools::sg::sf_mat4f::set_identity ( )
inline

Definition at line 37 of file sf_mat4f.

37  {
38  m_value.set_identity();
39  m_touched = true;
40  }

◆ set_rotate() [1/3]

bool tools::sg::sf_mat4f::set_rotate ( const vec3f a_from,
const vec3f a_to,
float  [] 
)
inline

Definition at line 118 of file sf_mat4f.

118  {
119  rotf qr;
120  if(!qr.set_value(a_from,a_to)) return false;
121  qr.value(m_value);
122  m_touched = true;
123  return true;
124  }

◆ set_rotate() [2/3]

void tools::sg::sf_mat4f::set_rotate ( const vec3f a_v,
float  a_angle 
)
inline

Definition at line 61 of file sf_mat4f.

61  {
62  m_value.set_rotate(a_v.x(),a_v.y(),a_v.z(),a_angle);
63  m_touched = true; //FIXME : should check for a change !
64  }

◆ set_rotate() [3/3]

void tools::sg::sf_mat4f::set_rotate ( float  a_x,
float  a_y,
float  a_z,
float  a_angle 
)
inline

Definition at line 57 of file sf_mat4f.

57  {
58  m_value.set_rotate(a_x,a_y,a_z,a_angle);
59  m_touched = true; //FIXME : should check for a change !
60  }

◆ set_scale() [1/2]

void tools::sg::sf_mat4f::set_scale ( float  a_s)
inline

Definition at line 53 of file sf_mat4f.

53  {
54  m_value.set_scale(a_s);
55  m_touched = true; //FIXME : should check for a change !
56  }

◆ set_scale() [2/2]

void tools::sg::sf_mat4f::set_scale ( float  a_x,
float  a_y,
float  a_z 
)
inline

Definition at line 49 of file sf_mat4f.

49  {
50  m_value.set_scale(a_x,a_y,a_z);
51  m_touched = true; //FIXME : should check for a change !
52  }

◆ set_translate() [1/2]

void tools::sg::sf_mat4f::set_translate ( const vec3f a_v)
inline

Definition at line 45 of file sf_mat4f.

45  {
46  m_value.set_translate(a_v.x(),a_v.y(),a_v.z());
47  m_touched = true; //FIXME : should check for a change !
48  }

◆ set_translate() [2/2]

void tools::sg::sf_mat4f::set_translate ( float  a_x,
float  a_y,
float  a_z 
)
inline

Definition at line 41 of file sf_mat4f.

41  {
42  m_value.set_translate(a_x,a_y,a_z);
43  m_touched = true; //FIXME : should check for a change !
44  }

The documentation for this class was generated from the following file:
tools::sg::field::m_touched
bool m_touched
Definition: field:63
tools::mat4::set_translate
void set_translate(const T &a_x, const T &a_y, const T &a_z)
Definition: mat4:60
tools::mat4::left_mul_translate
void left_mul_translate(const T &a_x, const T &a_y, const T &a_z)
Definition: mat4:297
tools::mat4::left_mul_scale
void left_mul_scale(const T &a_x, const T &a_y, const T &a_z)
Definition: mat4:291
tools::mat4f::set_rotate
void set_rotate(const float &a_x, const float &a_y, const float &a_z, const float &a_angle)
Definition: mat4f:39
tools::sg::bsf< mat4f >::m_value
mat4f m_value
Definition: bsf:120
tools::mat4::mul_translate
void mul_translate(const T &a_x, const T &a_y, const T &a_z)
Definition: mat4:272
tools::sg::field::operator=
field & operator=(const field &)
Definition: field:57
tools::mat4f::left_mul_rotate
void left_mul_rotate(const float &a_x, const float &a_y, const float &a_z, const float &a_angle)
Definition: mat4f:46
tools::mat4f::mul_rotate
void mul_rotate(const float &a_x, const float &a_y, const float &a_z, const float &a_angle)
Definition: mat4f:43
tools::mat4::mul_scale
void mul_scale(const T &a_sx, const T &a_sy, const T &a_sz)
Definition: mat4:234
tools::mat4::set_scale
void set_scale(const T &a_s)
Definition: mat4:58