Developer Documentation
MultiInterpolationAnimationT< PointT > Class Template Reference
Inheritance diagram for MultiInterpolationAnimationT< PointT >:
InterpolationAnimationT< PointT > AnimationT< 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 Posepose (unsigned int _iFrame)
 get a pose More...
 
virtual Posepose (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...
 
PosegetReference ()
 
void addInterpolator (InterpolationT< double > *_interpolator)
 Add an interpolator. More...
 
Interpolatorinterpolator (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 ()
 
MatrixManipulatormatrixManipulator ()
 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 >
Skeletonskeleton_
 
std::vector< int > influencedJoints_
 
std::vector< Interpolator * > interpolators_
 
std::map< Interpolator *, std::vector< TargetType > > precalculations_
 
MatrixManipulatormatrixManipulator_
 
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 56 of file MultiInterpolationAnimationT.hh.

Constructor & Destructor Documentation

template<class PointT >
MultiInterpolationAnimationT< PointT >::MultiInterpolationAnimationT ( const MultiInterpolationAnimationT< PointT > &  _other)

Copy constructor.

Parameters
_otherThe animation to copy from

Definition at line 62 of file MultiInterpolationAnimationT.cc.

Member Function Documentation

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 122 of file MultiInterpolationAnimationT.cc.

template<class PointT>
void MultiInterpolationAnimationT< PointT >::insertJointAt ( unsigned int  _index)
inlinevirtual

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
_indexThe 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 127 of file MultiInterpolationAnimationT.hh.

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

get a pose

Parameters
_iFrameFrame
Returns
Requested pose

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 135 of file MultiInterpolationAnimationT.cc.

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

get a pose

Parameters
_iFrameFrame
_referenceReference pose
Returns
Requested pose

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 155 of file MultiInterpolationAnimationT.cc.

template<class PointT>
void MultiInterpolationAnimationT< PointT >::removeJointAt ( unsigned int  _index)
inlinevirtual

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
_indexThe index of the joint that is being deleted.

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 135 of file MultiInterpolationAnimationT.hh.

template<class PointT>
virtual void MultiInterpolationAnimationT< PointT >::updateFromGlobal ( unsigned int  _index)
inlinevirtual

Updates the local matrix using the global matrix.

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

Parameters
_indexThe joints index

Reimplemented from InterpolationAnimationT< PointT >.

Definition at line 77 of file MultiInterpolationAnimationT.hh.


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