Public Types | Static Public Member Functions

OpenTissue::skeleton::DefaultBoneTraits< math_types_ > Class Template Reference

#include <skeleton_default_bone_traits.h>

List of all members.

Public Types

typedef math_types_ math_types
typedef math_types::coordsys_type transform_type
typedef math_types::coordsys_type coordsys_type
typedef math_types::vector3_type vector3_type

Static Public Member Functions

static coordsys_type convert (coordsys_type const &T)
static transform_type get_identity_transform ()
static transform_type compute_absolute_pose_transform (transform_type const &parent, transform_type const &relative)
static transform_type compute_bone_space_transform (transform_type const &absolute, transform_type const &bone_space)
static vector3_type transform_point (transform_type const &T, vector3_type const &x)
static vector3_type transform_vector (transform_type const &T, vector3_type const &v)

Detailed Description

template<typename math_types_>
class OpenTissue::skeleton::DefaultBoneTraits< math_types_ >

Default Bone Traits. A bone transformation can be representated in many different ways. For instance using homegeneous matrices. In our default implementation we have choosen a compound type consisting of a vector and a quaternion. This type is called a coordsys_type.

The bone traits class offers functionality to work with differnet representations of the bone transformations.


Member Typedef Documentation

template<typename math_types_>
typedef math_types::coordsys_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::coordsys_type
template<typename math_types_>
typedef math_types_ OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::math_types
template<typename math_types_>
typedef math_types::coordsys_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::transform_type
template<typename math_types_>
typedef math_types::vector3_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::vector3_type

Member Function Documentation

template<typename math_types_>
static transform_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::compute_absolute_pose_transform ( transform_type const &  parent,
transform_type const &  relative 
) [inline, static]

Compute aboslute pose transformation.

Parameters:
parent The absolute transformation of the parent bone.
relative The relative transformation of the bone.
Returns:
The absolute transformation of the bone.
template<typename math_types_>
static transform_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::compute_bone_space_transform ( transform_type const &  absolute,
transform_type const &  bone_space 
) [inline, static]

Compute Bone Space Transformation.

Parameters:
absolute The absolute transformation of the bone.
bone_space The bone space location of the bone.
Returns:
The bone space transformation.
template<typename math_types_>
static coordsys_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::convert ( coordsys_type const &  T  )  [inline, static]

Convert. The convert function should be able to convert back and forth between a transform_type and a coordsys_type. In our case where our transform_type is simply a coordsys_type we can settle with a single and very simple implementation of the ``convert'' method. In a general setting one would probably have to make two overloaded versions of the convert function.

Parameters:
T A value represented in the input type.
Returns:
The value in the output type.
template<typename math_types_>
static transform_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::get_identity_transform (  )  [inline, static]

Retrive Identity Transformation.

Returns:
Upon return the identity transformation is returned.
template<typename math_types_>
static vector3_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::transform_point ( transform_type const &  T,
vector3_type const &  x 
) [inline, static]

Transform a point by a specified transformation.

Parameters:
T The coordinate transformation that should be used.
x The point that should be transformed
Returns:
The transformed point.
template<typename math_types_>
static vector3_type OpenTissue::skeleton::DefaultBoneTraits< math_types_ >::transform_vector ( transform_type const &  T,
vector3_type const &  v 
) [inline, static]

Transform a vector by a specified transformation.

Parameters:
T The coordinate transformation that should be used.
v The vector that should be transformed
Returns:
The transformed vector.

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