]> git.tdb.fi Git - libs/game.git/commitdiff
Add setters for the individual parts of Transform
authorMikko Rasa <tdb@tdb.fi>
Wed, 9 Nov 2022 20:57:15 +0000 (22:57 +0200)
committerMikko Rasa <tdb@tdb.fi>
Wed, 9 Nov 2022 20:57:36 +0000 (22:57 +0200)
source/game/transform.cpp
source/game/transform.h

index 6af24c0279ea3ebaaab0ba83a0a0cd4203f62053..e5655f929765554f87be052a9d23647051e1b617 100644 (file)
@@ -12,6 +12,21 @@ void Transform::set_values(const TransformValues &v)
        values = v;
 }
 
+void Transform::set_position(const LinAl::Vector<float, 3> &p)
+{
+       values.position = p;
+}
+
+void Transform::set_rotation(const Geometry::Quaternion<float> &r)
+{
+       values.rotation = normalize(r);
+}
+
+void Transform::set_scale(const LinAl::Vector<float, 3> &s)
+{
+       values.scale = s;
+}
+
 void Transform::update_world_matrix(const Transform *parent)
 {
        using Affine = Geometry::AffineTransform<float, 3>;
index d6984993653d78f78c4d67f6ad31bbbc0dc5e359..603076024adbdd27c2aa659cd5c805c320fa0d51 100644 (file)
@@ -26,6 +26,9 @@ public:
        Transform(Handle<Entity>);
 
        void set_values(const TransformValues &);
+       void set_position(const LinAl::Vector<float, 3> &);
+       void set_rotation(const Geometry::Quaternion<float> &);
+       void set_scale(const LinAl::Vector<float, 3> &);
        const TransformValues &get_values() const { return values; }
        const LinAl::Vector<float, 3> &get_position() const { return values.position; }
        const Geometry::Quaternion<float> &get_rotation() const { return values.rotation; }