#include <math_coordsys.h>
Public Types | |
typedef value_traits_ | value_traits |
Convience typedef to make value traits accesible for all template functions using Vector3 types. | |
typedef value_type_ | value_type |
Typedef is required for compliance with many other libraries and data containers! | |
typedef Vector3< value_type > | vector3_type |
typedef Quaternion< value_type > | quaternion_type |
typedef Matrix3x3< value_type > | matrix3x3_type |
typedef Quaternion< value_type > | rotation_type |
typedef to make interface for different coordsystypes the same | |
Public Member Functions | |
vector3_type & | T () |
vector3_type const & | T () const |
quaternion_type & | Q () |
quaternion_type const & | Q () const |
CoordSys () | |
CoordSys (vector3_type const &T_val, quaternion_type const &Q_val) | |
CoordSys (vector3_type const &T_val, matrix3x3_type const &R_val) | |
CoordSys & | operator= (CoordSys const &C) |
bool | operator== (CoordSys const &C) const |
void | identity () |
void | xform_point (vector3_type &p) const |
void | xform_vector (vector3_type &v) const |
void | xform_matrix (matrix3x3_type &O) const |
CoordSys | operator* (CoordSys const &X1) const |
bool | is_equal (CoordSys const &C, value_type const &accuracy) const |
Protected Types | |
typedef OpenTissue::math::ValueTraits < value_type_ > | value_traits_ |
Protected Attributes | |
vector3_type | m_T |
The Position. | |
quaternion_type | m_Q |
The orientation in Quaternion form. |
A Coordinate System.
Remeber, this represents a transform that brings you from a local frame into a global frame, that is:
BF -> WCS
typedef Matrix3x3<value_type> OpenTissue::math::CoordSys< value_type_ >::matrix3x3_type |
typedef Quaternion<value_type> OpenTissue::math::CoordSys< value_type_ >::quaternion_type |
typedef Quaternion<value_type> OpenTissue::math::CoordSys< value_type_ >::rotation_type |
typedef to make interface for different coordsystypes the same
typedef value_traits_ OpenTissue::math::CoordSys< value_type_ >::value_traits |
Convience typedef to make value traits accesible for all template functions using Vector3 types.
typedef OpenTissue::math::ValueTraits<value_type_> OpenTissue::math::CoordSys< value_type_ >::value_traits_ [protected] |
typedef value_type_ OpenTissue::math::CoordSys< value_type_ >::value_type |
Typedef is required for compliance with many other libraries and data containers!
typedef Vector3<value_type> OpenTissue::math::CoordSys< value_type_ >::vector3_type |
OpenTissue::math::CoordSys< value_type_ >::CoordSys | ( | ) | [inline] |
OpenTissue::math::CoordSys< value_type_ >::CoordSys | ( | vector3_type const & | T_val, | |
quaternion_type const & | Q_val | |||
) | [inline, explicit] |
OpenTissue::math::CoordSys< value_type_ >::CoordSys | ( | vector3_type const & | T_val, | |
matrix3x3_type const & | R_val | |||
) | [inline, explicit] |
void OpenTissue::math::CoordSys< value_type_ >::identity | ( | ) | [inline] |
bool OpenTissue::math::CoordSys< value_type_ >::is_equal | ( | CoordSys< value_type_ > const & | C, | |
value_type const & | accuracy | |||
) | const [inline] |
CoordSys OpenTissue::math::CoordSys< value_type_ >::operator* | ( | CoordSys< value_type_ > const & | X1 | ) | const [inline] |
Transform Coordinate System. This method transforms the specified coordinate system by this coordinate transform.
That is:
Tnew = Tx Rx Told Rnew = Rx Rold
X | The transform by which the current transform should be changed with.. |
CoordSys& OpenTissue::math::CoordSys< value_type_ >::operator= | ( | CoordSys< value_type_ > const & | C | ) | [inline] |
bool OpenTissue::math::CoordSys< value_type_ >::operator== | ( | CoordSys< value_type_ > const & | C | ) | const [inline] |
quaternion_type const& OpenTissue::math::CoordSys< value_type_ >::Q | ( | ) | const [inline] |
quaternion_type& OpenTissue::math::CoordSys< value_type_ >::Q | ( | ) | [inline] |
vector3_type const& OpenTissue::math::CoordSys< value_type_ >::T | ( | ) | const [inline] |
vector3_type& OpenTissue::math::CoordSys< value_type_ >::T | ( | ) | [inline] |
void OpenTissue::math::CoordSys< value_type_ >::xform_matrix | ( | matrix3x3_type & | O | ) | const [inline] |
void OpenTissue::math::CoordSys< value_type_ >::xform_point | ( | vector3_type & | p | ) | const [inline] |
This method assumes that the point is in this coordinate system. In other words this method maps local points into non local points:
BF -> WCS
Let p be the point and let f designate the function of this method then we have
[p]_WCS = f(p)
void OpenTissue::math::CoordSys< value_type_ >::xform_vector | ( | vector3_type & | v | ) | const [inline] |
This method assumes that the vector is in this coordinate system. That is it maps the vector from BF into WCS.
quaternion_type OpenTissue::math::CoordSys< value_type_ >::m_Q [protected] |
The orientation in Quaternion form.
vector3_type OpenTissue::math::CoordSys< value_type_ >::m_T [protected] |
The Position.