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

Public Member Functions

 rotd ()
 
 rotd (const vec3d &a_axis, double a_radians)
 
 rotd (const vec3d &a_from, const vec3d &a_to)
 
virtual ~rotd ()
 
 rotd (const rotd &a_from)
 
rotdoperator= (const rotd &a_from)
 
rotdoperator*= (const rotd &a_q)
 
rotd operator* (const rotd &a_r) const
 
bool set_value (const vec3d &a_from, const vec3d &a_to)
 
bool set_value (const vec3d &a_from, double a_a)
 
bool value (vec3d &a_from, double &a_a) const
 
void value (mat4d &a_m) const
 
void set_value (const mat4d &a_m)
 
double value (mat3d &a_m) const
 
- Public Member Functions inherited from tools::qrot< vec3d, vec4d >
 qrot ()
 
 qrot (const vec3d &a_axis, T a_radians, T(*a_sin)(T), T(*a_cos)(T))
 
 qrot (const vec3d &a_from, const vec3d &a_to, T(*a_sqrt)(T), T(*a_fabs)(T))
 
 qrot (const qrot &a_from)
 
virtual ~qrot ()
 
qrotoperator= (const qrot &a_from)
 
qrotoperator*= (const qrot &a_q)
 
bool operator== (const qrot &a_r) const
 
bool operator!= (const qrot &a_r) const
 
qrot operator* (const qrot &a_r) const
 
bool invert ()
 
bool inverse (qrot &a_r) const
 
bool set_value (const vec3d &a_axis, T a_radians, T(*a_sin)(T), T(*a_cos)(T))
 
bool set_value (const vec3d &a_from, const vec3d &a_to, T(*a_sqrt)(T), T(*a_fabs)(T))
 
void set_value (const MAT4 &a_m, T(*a_sqrt)(T))
 
bool value (vec3d &a_axis, T &a_radians, T(*a_sin)(T), T(*a_acos)(T)) const
 
void value (MAT4 &a_m) const
 
T value_3 (MAT3 &a_m) const
 
void mul_vec (const vec3d &a_in, vec3d &a_out) const
 
void mul_vec (vec3d &a_v) const
 
void mul_3 (T &a_x, T &a_y, T &a_z) const
 
const vec4dquat () const
 
vec4dquat ()
 

Additional Inherited Members

- Protected Types inherited from tools::qrot< vec3d, vec4d >
typedef VEC4::elem_t T
 
- Protected Member Functions inherited from tools::qrot< vec3d, vec4d >
 qrot (T a_q0, T a_q1, T a_q2, T a_q3)
 
- Static Protected Member Functions inherited from tools::qrot< vec3d, vec4d >
static T one ()
 
static T minus_one ()
 
static T half ()
 
- Protected Attributes inherited from tools::qrot< vec3d, vec4d >
vec4d m_quat
 

Detailed Description

Definition at line 17 of file rotd.

Constructor & Destructor Documentation

◆ rotd() [1/4]

tools::rotd::rotd ( )
inline

Definition at line 22 of file rotd.

22 :parent() {} //zero rotation around the positive Z axis.

◆ rotd() [2/4]

tools::rotd::rotd ( const vec3d a_axis,
double  a_radians 
)
inline

Definition at line 23 of file rotd.

23 :parent(a_axis,a_radians,::sin,::cos) {}

◆ rotd() [3/4]

tools::rotd::rotd ( const vec3d a_from,
const vec3d a_to 
)
inline

Definition at line 24 of file rotd.

24 :parent(a_from,a_to,::sqrt,::fabs) {}

◆ ~rotd()

virtual tools::rotd::~rotd ( )
inlinevirtual

Definition at line 25 of file rotd.

25 {}

◆ rotd() [4/4]

tools::rotd::rotd ( const rotd a_from)
inline

Definition at line 27 of file rotd.

27 :parent(a_from) {}

Member Function Documentation

◆ operator*()

rotd tools::rotd::operator* ( const rotd a_r) const
inline

Definition at line 37 of file rotd.

37  {
38  rotd tmp(*this);
39  tmp *= a_r;
40  return tmp;
41  }

◆ operator*=()

rotd& tools::rotd::operator*= ( const rotd a_q)
inline

Definition at line 33 of file rotd.

33  {
34  parent::operator*=(a_q);
35  return *this;
36  }

◆ operator=()

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

Definition at line 28 of file rotd.

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

◆ set_value() [1/3]

void tools::rotd::set_value ( const mat4d a_m)
inline

Definition at line 60 of file rotd.

60 {parent::set_value(a_m,::sqrt);}

◆ set_value() [2/3]

bool tools::rotd::set_value ( const vec3d a_from,
const vec3d a_to 
)
inline

Definition at line 43 of file rotd.

43  {
44  return parent::set_value(a_from,a_to,::sqrt,::fabs);
45  }

◆ set_value() [3/3]

bool tools::rotd::set_value ( const vec3d a_from,
double  a_a 
)
inline

Definition at line 46 of file rotd.

46  {
47  return parent::set_value(a_from,a_a,::sin,::cos);
48  }

◆ value() [1/3]

double tools::rotd::value ( mat3d a_m) const
inline

Definition at line 62 of file rotd.

62 {return parent::value_3(a_m);}

◆ value() [2/3]

void tools::rotd::value ( mat4d a_m) const
inline

Definition at line 59 of file rotd.

59 {parent::value(a_m);}

◆ value() [3/3]

bool tools::rotd::value ( vec3d a_from,
double &  a_a 
) const
inline

Definition at line 49 of file rotd.

49  {
50  return parent::value(a_from,a_a,::sin,::acos); //WARNING acos and not cos
51  }

The documentation for this class was generated from the following file:
tools::qrot< vec3d, vec4d >::value_3
T value_3(MAT3 &a_m) const
Definition: qrot:264
tools::qrot< vec3d, vec4d >::set_value
bool set_value(const vec3d &a_axis, T a_radians, T(*a_sin)(T), T(*a_cos)(T))
Definition: qrot:109
tools::qrot< vec3d, vec4d >::operator=
qrot & operator=(const qrot &a_from)
Definition: qrot:29
tools::qrot< vec3d, vec4d >::value
bool value(vec3d &a_axis, T &a_radians, T(*a_sin)(T), T(*a_acos)(T)) const
Definition: qrot:166
tools::qrot< vec3d, vec4d >::operator*=
qrot & operator*=(const qrot &a_q)
Definition: qrot:41
tools::rotd::rotd
rotd()
Definition: rotd:22