osgAnimation.TemplateKeyframe是OpenSceneGraph的一个模板类,用于表示动画的关键帧。每个关键帧包含一个时间戳和一组值,这些值可以是任何类型的。
osgAnimation.TemplateKeyframe定义如下:
template<class ValueT> class TemplateKeyframe
{
public:
typedef ValueT ValueArrayType;
typedef typename ValueArrayType::value_type ValueType;
TemplateKeyframe();
TemplateKeyframe(double time, const ValueT& values);
TemplateKeyframe(const TemplateKeyframe& copy);
double getTime() const;
void setTime(double time);
const ValueT& getValues() const;
void setValues(const ValueT& values);
ValueType& operator [] (unsigned int i);
const ValueType& operator [] (unsigned int i) const;
bool operator == (const TemplateKeyframe& rhs) const;
bool operator != (const TemplateKeyframe& rhs) const;
protected:
double _time;
ValueT _values;
};
ValueT
: 模板参数,表示此关键帧的值类型。可以是任何类型,包括OSG自带的基本类型,如float
、double
、Vec3
等。
ValueArrayType
: 表示值类型的数组类型,例如osgAnimation::FloatArray
。
ValueType
: 值类型的单个元素的类型,例如float
。
TemplateKeyframe()
: 默认构造函数,创建一个时间戳为0、值未初始化的关键帧。
TemplateKeyframe(double time, const ValueT& values)
: 创建一个指定时间戳和值的关键帧。
time
: 时间戳。
values
: 要设置的值。
TemplateKeyframe(const TemplateKeyframe& copy)
: 复制构造函数,创建一个给定关键帧的副本。
double getTime() const
: 返回此关键帧的时间戳。
void setTime(double time)
: 设置此关键帧的时间戳。
const ValueT& getValues() const
: 返回此关键帧的值。
void setValues(const ValueT& values)
: 设置此关键帧的值。
ValueType& operator [] (unsigned int i)
: 返回值类型数组中指定索引的值,允许使用数组语法访问。
const ValueType& operator [] (unsigned int i) const
: 返回值类型数组中指定索引的值(const版本)。
bool operator == (const TemplateKeyframe& rhs) const
: 判断此关键帧是否等于给定关键帧。
bool operator != (const TemplateKeyframe& rhs) const
: 判断此关键帧是否不等于给定关键帧。