Public Types | Public Member Functions | Protected Types | Protected Attributes

OpenTissue::math::CoordSys< value_type_ > Class Template Reference

#include <math_coordsys.h>

List of all members.

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_typevector3_type
typedef Quaternion< value_typequaternion_type
typedef Matrix3x3< value_typematrix3x3_type
typedef Quaternion< value_typerotation_type
 typedef to make interface for different coordsystypes the same

Public Member Functions

vector3_typeT ()
vector3_type const & T () const
quaternion_typeQ ()
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)
CoordSysoperator= (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.

Detailed Description

template<typename value_type_>
class OpenTissue::math::CoordSys< value_type_ >

A Coordinate System.

Remeber, this represents a transform that brings you from a local frame into a global frame, that is:

BF -> WCS


Member Typedef Documentation

template<typename value_type_>
typedef Matrix3x3<value_type> OpenTissue::math::CoordSys< value_type_ >::matrix3x3_type
template<typename value_type_>
typedef Quaternion<value_type> OpenTissue::math::CoordSys< value_type_ >::quaternion_type
template<typename value_type_>
typedef Quaternion<value_type> OpenTissue::math::CoordSys< value_type_ >::rotation_type

typedef to make interface for different coordsystypes the same

template<typename value_type_>
typedef value_traits_ OpenTissue::math::CoordSys< value_type_ >::value_traits

Convience typedef to make value traits accesible for all template functions using Vector3 types.

template<typename value_type_>
typedef OpenTissue::math::ValueTraits<value_type_> OpenTissue::math::CoordSys< value_type_ >::value_traits_ [protected]
template<typename value_type_>
typedef value_type_ OpenTissue::math::CoordSys< value_type_ >::value_type

Typedef is required for compliance with many other libraries and data containers!

template<typename value_type_>
typedef Vector3<value_type> OpenTissue::math::CoordSys< value_type_ >::vector3_type

Constructor & Destructor Documentation

template<typename value_type_>
OpenTissue::math::CoordSys< value_type_ >::CoordSys (  )  [inline]
template<typename value_type_>
OpenTissue::math::CoordSys< value_type_ >::CoordSys ( vector3_type const &  T_val,
quaternion_type const &  Q_val 
) [inline, explicit]
template<typename value_type_>
OpenTissue::math::CoordSys< value_type_ >::CoordSys ( vector3_type const &  T_val,
matrix3x3_type const &  R_val 
) [inline, explicit]

Member Function Documentation

template<typename value_type_>
void OpenTissue::math::CoordSys< value_type_ >::identity (  )  [inline]
template<typename value_type_>
bool OpenTissue::math::CoordSys< value_type_ >::is_equal ( CoordSys< value_type_ > const &  C,
value_type const &  accuracy 
) const [inline]
template<typename value_type_>
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

Parameters:
X The transform by which the current transform should be changed with..
template<typename value_type_>
CoordSys& OpenTissue::math::CoordSys< value_type_ >::operator= ( CoordSys< value_type_ > const &  C  )  [inline]
template<typename value_type_>
bool OpenTissue::math::CoordSys< value_type_ >::operator== ( CoordSys< value_type_ > const &  C  )  const [inline]
template<typename value_type_>
quaternion_type const& OpenTissue::math::CoordSys< value_type_ >::Q (  )  const [inline]
template<typename value_type_>
quaternion_type& OpenTissue::math::CoordSys< value_type_ >::Q (  )  [inline]
template<typename value_type_>
vector3_type const& OpenTissue::math::CoordSys< value_type_ >::T (  )  const [inline]
template<typename value_type_>
vector3_type& OpenTissue::math::CoordSys< value_type_ >::T (  )  [inline]
template<typename value_type_>
void OpenTissue::math::CoordSys< value_type_ >::xform_matrix ( matrix3x3_type O  )  const [inline]

Transform Matrix.

Parameters:
O A reference to a rotation matrix, which should be transformed.
template<typename value_type_>
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)

template<typename value_type_>
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.


Member Data Documentation

template<typename value_type_>
quaternion_type OpenTissue::math::CoordSys< value_type_ >::m_Q [protected]

The orientation in Quaternion form.

template<typename value_type_>
vector3_type OpenTissue::math::CoordSys< value_type_ >::m_T [protected]

The Position.


The documentation for this class was generated from the following file: