Nox Engine
 
Loading...
Searching...
No Matches
Vector2D.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <iostream>
9
15struct Vector2D {
16public:
17 float x, y;
18
19 Vector2D();
20 Vector2D(float x, float y);
21
27 Vector2D& add(const Vector2D vec);
28
35
42
49
50 friend Vector2D operator+(Vector2D v1, const Vector2D& v2);
51 friend Vector2D operator-(Vector2D v1, const Vector2D& v2);
52 friend Vector2D operator*(Vector2D v1, const Vector2D& v2);
53 friend Vector2D operator/(Vector2D v1, const Vector2D& v2);
54
55 Vector2D& operator+=(const Vector2D& vec);
56 Vector2D& operator-=(const Vector2D& vec);
57 Vector2D& operator*=(const Vector2D& vec);
58 Vector2D& operator/=(const Vector2D& vec);
59
65 Vector2D& operator*(const int& i);
66
67 bool operator==(const Vector2D& vec);
68 bool operator!();
69
74 Vector2D& zero();
75
76 friend std::ostream& operator<<(std::ostream& stream, const Vector2D& vec);
77};
ComponentID getComponentTypeID() noexcept
Gets the unique ID for a given component type.
Definition ECS.h:39
A simple struct for 2D mathematics (points, vectors).
Definition Vector2D.h:15
Vector2D & subtract(const Vector2D vec)
Subtracts another vector from this one.
Definition Vector2D.cpp:19
Vector2D & zero()
Resets the vector's components to zero.
Definition Vector2D.cpp:87
Vector2D & add(const Vector2D vec)
Adds another vector to this one.
Definition Vector2D.cpp:12
Vector2D & divide(const Vector2D vec)
Divides this vector by another, component-wise.
Definition Vector2D.cpp:33
Vector2D & multiply(const Vector2D vec)
Multiplies this vector by another, component-wise.
Definition Vector2D.cpp:26