implemented support for multilayered keyframes

This adds the ability to keyframe more than one value per input (e.g. a vec2,
vec3, etc.) so that you can animate, for example, an X axis separately from a
Y axis.
This commit is contained in:
itsmattkc
2019-12-30 04:47:23 +11:00
parent ae84067084
commit 245aa44efc
11 changed files with 444 additions and 251 deletions
+6 -1
View File
@@ -37,7 +37,7 @@ NodeKeyframePtr NodeKeyframe::Create(const rational &time, const QVariant &value
NodeKeyframePtr NodeKeyframe::copy() const
{
NodeKeyframePtr copy = std::make_shared<NodeKeyframe>(time_, value_, type_);
NodeKeyframePtr copy = std::make_shared<NodeKeyframe>(time_, value_, type_, track_);
copy->bezier_control_in_ = bezier_control_in_;
copy->bezier_control_out_ = bezier_control_out_;
return copy;
@@ -116,6 +116,11 @@ void NodeKeyframe::set_bezier_control(NodeKeyframe::BezierType type, const QPoin
}
}
const int &NodeKeyframe::track() const
{
return track_;
}
NodeKeyframe::BezierType NodeKeyframe::get_opposing_bezier_type(NodeKeyframe::BezierType type)
{
if (type == kInHandle) {