45 #include "InterpolationAnimationT.hh" 47 template<
class Po
intT>
55 typedef typename Point::value_type Scalar;
59 typedef std::vector<Scalar> TargetType;
60 typedef std::vector< InterpolationAnimationT<ACG::Vec3d>* > InterpolationAnimations;
65 MultiInterpolationAnimationT(
const InterpolationAnimations& _interpolationAnimations) : interpolationAnimations_(_interpolationAnimations) {}
71 virtual bool getMinInput(Scalar& _result);
72 virtual bool getMaxInput(Scalar& _result);
75 InterpolationAnimations interpolationAnimations_;
95 virtual Pose *
pose(
unsigned int _iFrame);
103 virtual Pose *
pose(
unsigned int _iFrame, Pose* _reference);
136 interpolationAnimations_.push_back(_animation);
139 return interpolationAnimations_.size();
145 virtual void clearPoseCache() {
146 for (uint i=0; i < interpolationAnimations_.size(); ++i) {
147 interpolationAnimations_[i]->clearPoseCache();
153 #if defined(INCLUDE_TEMPLATES) && !defined(MULTIINTERPOLATIONANIMATIONT_C) 154 #define MULTIINTERPOLATIONANIMATIONT_TEMPLATES 155 #include "MultiInterpolationAnimationT_impl.hh"
virtual unsigned int frameCount()
Returns the number of frames that this animation can playback.
virtual void updateFromGlobal(unsigned int _index)
Updates the local matrix using the global matrix.
A general pose, used to store the frames of the animation.
size_t animationCount()
Returns the number of animations stored in this skeleton.
virtual Pose * pose(unsigned int _iFrame)
get a pose
void insertJointAt(unsigned int _index)
Called by the skeleton as a new joint is inserted.
Knows how to apply the values generated by an interpolator to a matrix. When playing back an Interpol...
PoseT< PointT > Pose
Typedef for the pose template.
Stores a single animation.
Animation * animation(std::string _name)
Returns a pointer to the animation to the given name.
void removeJointAt(unsigned int _index)
Called by the skeleton as a joint is deleted.