diff options
Diffstat (limited to 'source/blender/blenlib/BLI_float2.hh')
-rw-r--r-- | source/blender/blenlib/BLI_float2.hh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_float2.hh b/source/blender/blenlib/BLI_float2.hh index 94da5d18ad2..5fe9d1b8ca9 100644 --- a/source/blender/blenlib/BLI_float2.hh +++ b/source/blender/blenlib/BLI_float2.hh @@ -48,6 +48,34 @@ struct float2 { return &x; } + float2 &operator+=(const float2 &other) + { + x += other.x; + y += other.y; + return *this; + } + + float2 &operator-=(const float2 &other) + { + x -= other.x; + y -= other.y; + return *this; + } + + float2 &operator*=(float factor) + { + x *= factor; + y *= factor; + return *this; + } + + float2 &operator/=(float divisor) + { + x /= divisor; + y /= divisor; + return *this; + } + friend float2 operator+(const float2 &a, const float2 &b) { return {a.x + b.x, a.y + b.y}; @@ -79,6 +107,16 @@ struct float2 { stream << "(" << v.x << ", " << v.y << ")"; return stream; } + + friend bool operator==(const float2 &a, const float2 &b) + { + return a.x == b.x && a.y == b.y; + } + + friend bool operator!=(const float2 &a, const float2 &b) + { + return !(a == b); + } }; } // namespace blender |