KeyFrame::~KeyFrame()
{ }
+void KeyFrame::set_transform(const Transform &t)
+{
+ transform = t;
+}
+
void KeyFrame::set_matrix(const Matrix &m)
{
- matrix = m;
+ transform = Transform::from_matrix(m);
}
void KeyFrame::set_pose(const Pose &p)
{
add("pose", &Loader::pose);
add("pose", &Loader::pose_inline);
+ add("transform", &Loader::transform);
+ add("uniforms", &Loader::uniforms);
+
+ // Deprecated; use the transform statement instead
add("position", &Loader::position);
add("rotation", &Loader::rotation);
add("scaling", &Loader::scaling_uniform);
add("scaling", &Loader::scaling);
- add("uniforms", &Loader::uniforms);
}
void KeyFrame::Loader::pose(const string &n)
void KeyFrame::Loader::position(float x, float y, float z)
{
- obj.matrix.translate(x, y, z);
+ obj.transform.set_position(Vector3(x, y, z));
}
void KeyFrame::Loader::rotation(float a, float x, float y, float z)
{
- obj.matrix.rotate_deg(a, x, y, z);
+ obj.transform.set_rotation(Transform::Angle::from_degrees(a), Vector3(x, y, z));
}
void KeyFrame::Loader::scaling_uniform(float s)
{
- obj.matrix.scale(s);
+ obj.transform.set_scale(s);
}
void KeyFrame::Loader::scaling(float x, float y, float z)
{
- obj.matrix.scale(x, y, z);
+ obj.transform.set_scale(Vector3(x, y, z));
+}
+
+void KeyFrame::Loader::transform()
+{
+ load_sub(obj.transform);
}
void KeyFrame::Loader::uniforms()