15#ifndef OSGANIMATION_KEYFRAME_H
16#define OSGANIMATION_KEYFRAME_H
70 virtual unsigned int size()
const = 0;
95 std::vector<unsigned int> intervalSizes;
96 unsigned int intervalSize = 1;
97 for(++ keyframe ; keyframe !=
VectorType::end() ; ++ keyframe, ++ previous, ++ intervalSize) {
98 if(!(previous->getValue() == keyframe->getValue())) {
99 intervalSizes.push_back(intervalSize);
103 intervalSizes.push_back(intervalSize);
106 unsigned int cumul = 0;
108 for(std::vector<unsigned int>::iterator
iterator = intervalSizes.begin() ;
iterator != intervalSizes.end() ; ++
iterator) {
111 deduplicated.
push_back((*
this)[cumul + (*iterator) - 1]);
116 unsigned int count =
size() - deduplicated.
size();
117 this->
swap(deduplicated);
~KeyframeContainer()
Definition Keyframe:73
std::string _name
Definition Keyframe:74
virtual unsigned int linearInterpolationDeduplicate()=0
virtual unsigned int size() const =0
KeyframeContainer()
Definition Keyframe:69
double getTime() const
Definition Keyframe:36
double _time
Definition Keyframe:40
void setTime(double time)
Definition Keyframe:37
osg::Vec3f _scale
Definition Keyframe:133
TemplateKeyframe< Vec3Packed > KeyType
Definition Keyframe:126
TemplateKeyframeContainer()
Definition Keyframe:128
const char * getKeyframeType()
Definition Keyframe:129
void init(const osg::Vec3f &min, const osg::Vec3f &scale)
Definition Keyframe:130
osg::Vec3f _min
Definition Keyframe:132
osg::MixinVector< TemplateKeyframe< T > > VectorType
Definition Keyframe:85
virtual unsigned int linearInterpolationDeduplicate()
Definition Keyframe:87
TemplateKeyframeContainer()
Definition Keyframe:83
virtual unsigned int size() const
Definition Keyframe:86
TemplateKeyframe< T > KeyType
Definition Keyframe:84
TemplateKeyframe(double time, const T &value)
Definition Keyframe:55
void setValue(const T &value)
Definition Keyframe:61
~TemplateKeyframe()
Definition Keyframe:53
TemplateKeyframe()
Definition Keyframe:52
T value_type
Definition Keyframe:50
const T & getValue() const
Definition Keyframe:62
T _value
Definition Keyframe:48
Definition MixinVector:29
size_type size() const
Definition MixinVector:92
const_iterator end() const
Definition MixinVector:99
const_iterator begin() const
Definition MixinVector:97
void push_back(const value_type &value)
Definition MixinVector:117
void swap(vector_type &other)
Definition MixinVector:88
vector_type::iterator iterator
Definition MixinVector:39
TemplateKeyframeContainer< DoubleCubicBezier > DoubleCubicBezierKeyframeContainer
Definition Keyframe:171
TemplateKeyframe< DoubleCubicBezier > DoubleCubicBezierKeyframe
Definition Keyframe:170
TemplateKeyframeContainer< osg::Vec3us > Vec3usKeyframeContainer
Definition Keyframe:150
TemplateKeyframeContainer< Vec3Packed > Vec3PackedKeyframeContainer
Definition Keyframe:165
TemplateKeyframeContainer< FloatCubicBezier > FloatCubicBezierKeyframeContainer
Definition Keyframe:168
TemplateKeyframeContainer< double > DoubleKeyframeContainer
Definition Keyframe:141
TemplateKeyframe< FloatCubicBezier > FloatCubicBezierKeyframe
Definition Keyframe:167
TemplateKeyframeContainer< float > FloatKeyframeContainer
Definition Keyframe:138
TemplateKeyframe< osg::Vec4 > Vec4Keyframe
Definition Keyframe:152
TemplateKeyframeContainer< osg::Vec4 > Vec4KeyframeContainer
Definition Keyframe:153
TemplateKeyframe< osg::Vec3us > Vec3usKeyframe
Definition Keyframe:149
TemplateKeyframe< Vec3Packed > Vec3PackedKeyframe
Definition Keyframe:164
TemplateKeyframe< Vec2CubicBezier > Vec2CubicBezierKeyframe
Definition Keyframe:173
TemplateKeyframeContainer< Vec3CubicBezier > Vec3CubicBezierKeyframeContainer
Definition Keyframe:177
TemplateKeyframe< osg::Matrixf > MatrixKeyframe
Definition Keyframe:161
TemplateKeyframe< osg::Vec2 > Vec2Keyframe
Definition Keyframe:143
TemplateKeyframeContainer< osg::Matrixf > MatrixKeyframeContainer
Definition Keyframe:162
TemplateKeyframe< double > DoubleKeyframe
Definition Keyframe:140
TemplateKeyframe< osg::Quat > QuatKeyframe
Definition Keyframe:155
TemplateKeyframeContainer< Vec4CubicBezier > Vec4CubicBezierKeyframeContainer
Definition Keyframe:180
TemplateKeyframe< float > FloatKeyframe
Definition Keyframe:137
TemplateKeyframe< Vec3CubicBezier > Vec3CubicBezierKeyframe
Definition Keyframe:176
TemplateKeyframeContainer< osg::Vec3 > Vec3KeyframeContainer
Definition Keyframe:147
TemplateKeyframeContainer< Vec2CubicBezier > Vec2CubicBezierKeyframeContainer
Definition Keyframe:174
TemplateKeyframeContainer< osg::Quat > QuatKeyframeContainer
Definition Keyframe:156
TemplateKeyframe< Vec4CubicBezier > Vec4CubicBezierKeyframe
Definition Keyframe:179
TemplateKeyframeContainer< osg::Vec2 > Vec2KeyframeContainer
Definition Keyframe:144
TemplateKeyframe< osg::Vec3 > Vec3Keyframe
Definition Keyframe:146