]> git.tdb.fi Git - libs/gl.git/commitdiff
Add multiplication operators between Matrix and float
authorMikko Rasa <tdb@tdb.fi>
Wed, 30 Dec 2020 15:09:15 +0000 (17:09 +0200)
committerMikko Rasa <tdb@tdb.fi>
Wed, 30 Dec 2020 15:09:15 +0000 (17:09 +0200)
Newer gcc versions are complaining about an ambiguity between the vector
multiplication operators in GL::Matrix and the scalar multiplication for
LinAl::Matrix.

source/matrix.h

index 971d2b362e5441ab2d1dd5f8ff7496424d6d1021..cb61e292f0eaad46a195995f6c92a5bbf7c1afe8 100644 (file)
@@ -38,6 +38,8 @@ public:
 
        Matrix operator*(const Matrix &m) const { return static_cast<const Base &>(*this)*static_cast<const Base &>(m); }
        Matrix &operator*=(const Matrix &m) { Base::operator*=(m); return *this; }
+       Matrix operator*(float s) const { return static_cast<const Base &>(*this)*s; }
+       Matrix &operator*=(float s) { Base::operator*=(s); return *this; }
        Vector4 operator*(const Vector4 &v) const { return static_cast<const Base &>(*this)*v; }
        Vector3 operator*(const Vector3 &v) const { return ((*this)*compose(v, 1.0f)).slice<3>(0); }
        float operator[](unsigned) const;