X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fgame%2Ftransform.h;h=05c895b42e949b42e2e2c328a6dd72b3fca90e5d;hb=391f1ab3c7ca52a9990f516f4cdd7094f60350df;hp=d6984993653d78f78c4d67f6ad31bbbc0dc5e359;hpb=c809f54b802727926bae40e9fe67d0e3c94fd2c0;p=libs%2Fgame.git diff --git a/source/game/transform.h b/source/game/transform.h index d698499..05c895b 100644 --- a/source/game/transform.h +++ b/source/game/transform.h @@ -13,6 +13,13 @@ struct TransformValues LinAl::Vector position; Geometry::Quaternion rotation = Geometry::Quaternion::one(); LinAl::Vector scale = { 1.0f, 1.0f, 1.0f }; + + TransformValues() = default; + TransformValues(const LinAl::Vector &p): position(p) { } + TransformValues(const LinAl::Vector &p, const Geometry::Quaternion &r, + const LinAl::Vector &s = LinAl::Vector(1.0f, 1.0f, 1.0f)): + position(p), rotation(r), scale(s) + { } }; class Transform: public Component @@ -26,6 +33,9 @@ public: Transform(Handle); void set_values(const TransformValues &); + void set_position(const LinAl::Vector &); + void set_rotation(const Geometry::Quaternion &); + void set_scale(const LinAl::Vector &); const TransformValues &get_values() const { return values; } const LinAl::Vector &get_position() const { return values.position; } const Geometry::Quaternion &get_rotation() const { return values.rotation; }