Public Member Functions | Protected Types | Protected Attributes

OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ > Class Template Reference

#include <animation_naive_blend_scheduler.h>

List of all members.

Public Member Functions

 NaiveBlendScheduler ()
void clear ()
void add (animation_interface *animation)
void remove (animation_interface *animation)
real_type compute_duration ()
void compute_pose (skeleton_type &skeleton, real_type const &global_time)

Protected Types

typedef skeleton_type_ skeleton_type
typedef skeleton_type::bone_type bone_type
typedef skeleton_type::math_types math_types
typedef math_types::coordsys_type coordsys_type
typedef math_types::real_type real_type
typedef Interface< skeleton_typeanimation_interface
typedef std::list
< animation_interface * > 
animation_ptr_container
typedef
animation_ptr_container::iterator 
animation_ptr_iterator
typedef
boost::indirect_iterator
< animation_ptr_iterator,
animation_interface
animation_iterator

Protected Attributes

animation_ptr_container m_animations
 A collection of animations that should be blended.

Detailed Description

template<typename skeleton_type_>
class OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >

A Blend Scheduler. This class provides a naïve, simple, and primitive blend scheduler.

It performs a straightforward simple flat blend of the added animations in an incremental fashion.


Member Typedef Documentation

template<typename skeleton_type_ >
typedef Interface<skeleton_type> OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::animation_interface [protected]
template<typename skeleton_type_ >
typedef boost::indirect_iterator<animation_ptr_iterator,animation_interface> OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::animation_iterator [protected]
template<typename skeleton_type_ >
typedef std::list<animation_interface*> OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::animation_ptr_container [protected]
template<typename skeleton_type_ >
typedef animation_ptr_container::iterator OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::animation_ptr_iterator [protected]
template<typename skeleton_type_ >
typedef skeleton_type::bone_type OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::bone_type [protected]
template<typename skeleton_type_ >
typedef math_types::coordsys_type OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::coordsys_type [protected]
template<typename skeleton_type_ >
typedef skeleton_type::math_types OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::math_types [protected]
template<typename skeleton_type_ >
typedef math_types::real_type OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::real_type [protected]
template<typename skeleton_type_ >
typedef skeleton_type_ OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::skeleton_type [protected]

Constructor & Destructor Documentation

template<typename skeleton_type_ >
OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::NaiveBlendScheduler (  )  [inline]

Member Function Documentation

template<typename skeleton_type_ >
void OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::add ( animation_interface animation  )  [inline]
template<typename skeleton_type_ >
void OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::clear ( void   )  [inline]
template<typename skeleton_type_ >
real_type OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::compute_duration ( void   )  [inline]

Compute Duration of Animation.

Returns:
The duration of the longest animation in the blend.
template<typename skeleton_type_ >
void OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::compute_pose ( skeleton_type skeleton,
real_type const &  global_time 
) [inline]

Compute Pose. This method determines how to blend all animations into one resulting pose.

Parameters:
skeleton 
global_time 
template<typename skeleton_type_ >
void OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::remove ( animation_interface animation  )  [inline]

Member Data Documentation

template<typename skeleton_type_ >
animation_ptr_container OpenTissue::animation::NaiveBlendScheduler< skeleton_type_ >::m_animations [protected]

A collection of animations that should be blended.


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