osgAnimation.KeyframeContainer是OpenSceneGraph中的一个类,用于管理动画的关键帧。
typedef std::pair<double, osg::ref_ptr<osgAnimation::Vec3Keyframe> > Vec3KeyframePair;
typedef std::vector<Vec3KeyframePair> Vec3KeyframeList;
typedef std::pair<double, osg::ref_ptr<osgAnimation::QuatKeyframe> > QuatKeyframePair;
typedef std::vector<QuatKeyframePair> QuatKeyframeList;
typedef std::pair<double, osg::ref_ptr<osgAnimation::FloatKeyframe> > FloatKeyframePair;
typedef std::vector<FloatKeyframePair> FloatKeyframeList;
KeyframeContainer();
void addVec3Keyframe(double time, osgAnimation::Vec3Keyframe* keyframe);
将一个Vec3Keyframe添加到容器中,time是关键帧的时间,keyframe是待添加的关键帧对象。
const Vec3KeyframeList& getVec3KeyframeList() const;
返回容器中的Vec3Keyframe列表。
void addQuatKeyframe(double time, osgAnimation::QuatKeyframe* keyframe);
将一个QuatKeyframe添加到容器中,time是关键帧的时间,keyframe是待添加的关键帧对象。
const QuatKeyframeList& getQuatKeyframeList() const;
返回容器中的QuatKeyframe列表。
void addFloatKeyframe(double time, osgAnimation::FloatKeyframe* keyframe);
将一个FloatKeyframe添加到容器中,time是关键帧的时间,keyframe是待添加的关键帧对象。
const FloatKeyframeList& getFloatKeyframeList() const;
返回容器中的FloatKeyframe列表。
void merge(osgAnimation::KeyframeContainer* container);
将另一个KeyframeContainer中的关键帧合并到当前容器中。
void scaleTime(double scale);
缩放所有的关键帧时间。
void translateTime(double offset);
将所有的关键帧时间平移。
void clear();
清空容器中的所有关键帧。