+ public:
+ ValueCurve(CurveTarget, const std::vector<Knot> &);
+
+ virtual void apply(float, Matrix &) const;
+ virtual void apply(float, KeyFrame::AnimatedUniform &) const;
+ };
+
+ template<unsigned N>
+ struct ExtractUniform
+ {
+ const std::string &name;
+
+ ExtractUniform(const std::string &n): name(n) { }
+
+ bool operator()(const KeyFrame &, typename Interpolate::SplineValue<float, N>::Type &) const;