Developer Documentation

Public Types | Public Member Functions | Private Attributes | Friends | List of all members
MultiInterpolationAnimationT< PointT > Class Template Reference
Inheritance diagram for MultiInterpolationAnimationT< PointT >:

## Public Types
typedef PointT | Point
typedef Point::value_type | Scalar
typedef PoseT< PointT > | Pose
| Typedef for the pose template.
typedef InterpolationMatrixManipulatorT< Scalar > | MatrixManipulator
typedef InterpolationT< Scalar > | Interpolator
typedef std::vector< Scalar > | TargetType
typedef std::vector< InterpolationAnimationT< ACG::Vec3d > *> | InterpolationAnimations
Public Types inherited from InterpolationAnimationT< PointT >
typedef PointT | Point
typedef Point::value_type | Scalar
typedef PoseT< PointT > | Pose
typedef InterpolationMatrixManipulatorT< Scalar > | MatrixManipulator
typedef InterpolationT< Scalar > | Interpolator
typedef std::vector< Scalar > | TargetType
Public Types inherited from AnimationT< PointT >
typedef PointT | Point
typedef Point::value_type | Scalar
typedef PoseT< PointT > | Pose

## Public Member Functions
| MultiInterpolationAnimationT (const MultiInterpolationAnimationT< PointT > &_other)
| Copy constructor. More...
| MultiInterpolationAnimationT (const InterpolationAnimations &_interpolationAnimations)
virtual AnimationT< PointT > * | copy ()
virtual void | updateFromGlobal (unsigned int _index)
| Updates the local matrix using the global matrix. More...
virtual bool | getMinInput (Scalar &_result)
virtual bool | getMaxInput (Scalar &_result)
virtual void | clearPoseCache ()
Frame access
There is one pose per frame.
virtual Pose * | pose (unsigned int _iFrame)
| get a pose More...
virtual Pose * | pose (unsigned int _iFrame, Pose *_reference)
| get a pose More...
virtual unsigned int | frameCount ()
| Returns the number of frames that this animation can playback. More...
Synchronization
Use these methods to keep the poses in sync with the number (and indices) of the joints.
void | insertJointAt (unsigned int _index)
| Called by the skeleton as a new joint is inserted. More...
void | removeJointAt (unsigned int _index)
| Called by the skeleton as a joint is deleted. More...
Animations access
void | addInterpolationAnimation (InterpolationAnimationT< PointT > *_animation)
unsigned int | animationCount ()
InterpolationAnimationT< PointT > * | animation (unsigned int _index)
Public Member Functions inherited from InterpolationAnimationT< PointT >
| InterpolationAnimationT (const InterpolationAnimationT< PointT > &_other)
| Copy constructor. More...
| InterpolationAnimationT (Skeleton *_skeleton, MatrixManipulator *_matrixManipulator)
| Creates a new empty animation. More...
Pose * | getReference ()
void | addInterpolator (InterpolationT< double > *_interpolator)
| Add an interpolator. More...
Interpolator * | interpolator (unsigned int _index)
| Get the i-th interpolator. More...
unsigned int | interpolatorCount ()
| Get the number of interpolators. More...
void | addInfluencedJoint (int _joint)
bool | isInfluenced (int _joint)
std::vector< int > & | influencedJoints ()
MatrixManipulator * | matrixManipulator ()
| Get the matrix manipulator. More...
Public Member Functions inherited from AnimationT< PointT >
| AnimationT (std::string _name="")
std::string | name ()
void | setName (std::string _name)
int | fps ()
void | setFps (int _fps)

## Private Attributes
InterpolationAnimations | interpolationAnimations_

## Friends
template<typename >
class | SkeletonT

## Additional Inherited Members
Static Public Attributes inherited from InterpolationAnimationT< PointT >
static const int | FPS = 60
Protected Member Functions inherited from InterpolationAnimationT< PointT >
unsigned int | calcAbsoluteMaxForInterpolator (uint _index)
| Calculates the last frame that interpolator _index is responsible for.
Protected Attributes inherited from InterpolationAnimationT< PointT >
Skeleton * | skeleton_
std::vector< int > | influencedJoints_
std::vector< Interpolator *> | interpolators_
std::map< Interpolator *, std::vector< TargetType > > | precalculations_
MatrixManipulator * | matrixManipulator_
unsigned int | frames_
std::map< unsigned int, Pose *> | interpolatedPoses_
Protected Attributes inherited from AnimationT< PointT >
std::string | name_
int | fps_

## Detailed Description

### template<class PointT>
class MultiInterpolationAnimationT< PointT >

Definition at line 48 of file MultiInterpolationAnimationT.hh.

## Constructor & Destructor Documentation

## ◆ MultiInterpolationAnimationT()

template<class PointT >

MultiInterpolationAnimationT< PointT >::MultiInterpolationAnimationT | ( | const MultiInterpolationAnimationT< PointT > & | _other | ) |

Copy constructor.

Parameters

  _other | The animation to copy from

Definition at line 56 of file MultiInterpolationAnimationT_impl.hh.

## Member Function Documentation

## ◆ frameCount()

template<class PointT >

unsigned int MultiInterpolationAnimationT< PointT >::frameCount | ( |  | ) |
| virtual

Returns the number of frames that this animation can playback.

Note that this is not simply the sum of all animations' frame counts, as they can (and most likely will) overlap.

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 116 of file MultiInterpolationAnimationT_impl.hh.

## ◆ insertJointAt()

template<class PointT>

void MultiInterpolationAnimationT< PointT >::insertJointAt | ( | unsigned int | _index | ) |
| inline virtual

Called by the skeleton as a new joint is inserted.

The call is dispatched to all poses stored in the animation. See BaseNode::insert_at for more information.

Parameters

  _index | The new joint is inserted at this position. Insert new joints at the end by passing SkeletonT<>::jointCount as parameter.

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 119 of file MultiInterpolationAnimationT.hh.

## ◆ pose() [1/2]

template<class PointT >

PoseT< PointT > * MultiInterpolationAnimationT< PointT >::pose | ( | unsigned int | _iFrame | ) |
| virtual

get a pose

Parameters

  _iFrame | Frame

Returns
  Requested pose

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 129 of file MultiInterpolationAnimationT_impl.hh.

## ◆ pose() [2/2]

template<class PointT >

PoseT< PointT > * MultiInterpolationAnimationT< PointT >::pose | ( | unsigned int | _iFrame,
|  | Pose * | _reference
| ) |  |
| virtual

get a pose

Parameters

  _iFrame | Frame
  _reference | Reference pose

Returns
  Requested pose

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 149 of file MultiInterpolationAnimationT_impl.hh.

## ◆ removeJointAt()

template<class PointT>

void MultiInterpolationAnimationT< PointT >::removeJointAt | ( | unsigned int | _index | ) |
| inline virtual

Called by the skeleton as a joint is deleted.

The call is dispatched to all poses stored in this animation. See BasePoseT<>::remove_at for more information.

Parameters

  _index | The index of the joint that is being deleted.

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 127 of file MultiInterpolationAnimationT.hh.

## ◆ updateFromGlobal()

template<class PointT>

virtual void MultiInterpolationAnimationT< PointT >::updateFromGlobal | ( | unsigned int | _index | ) |
| inline virtual

Updates the local matrix using the global matrix.

Called when a joints parent is changed. Note: Does nothing at the moment

Parameters

  _index | The joints index

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 69 of file MultiInterpolationAnimationT.hh.

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

- Type-Skeleton/ObjectTypes/Skeleton/Animation/MultiInterpolationAnimationT.hh
- Type-Skeleton/ObjectTypes/Skeleton/Animation/MultiInterpolationAnimationT_impl.hh