24 #if defined(_WIN32) && defined(HR_ENGINE_SHARED) 26 # define MR_DllDeclare __declspec( dllexport ) 28 # define MR_DllDeclare __declspec( dllimport ) 31 # define MR_DllDeclare 40 constexpr
Vec2(
double x,
double y) noexcept :
x(
x),
y(
y) { }
42 constexpr
Vec3 Promote(
double z = 0)
const noexcept;
50 os <<
'<' << v.
x <<
", " << v.
y <<
'>';
68 return { lhs.
x + rhs.x, lhs.y + rhs.y };
80 return { lhs.
x - rhs.x, lhs.y - rhs.y };
92 return { lhs.
x * scale, lhs.y * scale };
104 return { lhs.
x / scale, lhs.y / scale };
116 constexpr
Vec3(
double x,
double y,
double z) noexcept :
x(
x),
y(
y), z(z) { }
125 os <<
'<' << v.
x <<
", " << v.
y <<
", " << v.
z <<
'>';
144 return { lhs.
x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z };
157 return { lhs.
x + rhs.x, lhs.y + rhs.y, lhs.z };
169 return Vec3(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z);
182 return { lhs.
x * scale, lhs.y * scale, lhs.z * scale };
195 return { lhs.
x / scale, lhs.y / scale, lhs.z / scale };
constexpr Vec2 operator-(const Vec2 &lhs, const Vec2 &rhs) noexcept
Definition: Vec.h:78
constexpr Vec3 Promote(double z=0) const noexcept
Definition: Vec.h:206
Vec2 & operator+=(Vec2 &lhs, const Vec2 &rhs) noexcept
Definition: Vec.h:71
double y
Definition: Vec.h:45
constexpr Vec2 operator+(const Vec2 &lhs, const Vec2 &rhs) noexcept
Definition: Vec.h:66
constexpr Vec2 operator/(const Vec2 &lhs, double scale) noexcept
Definition: Vec.h:102
Vec2 & operator-=(Vec2 &lhs, const Vec2 &rhs) noexcept
Definition: Vec.h:83
constexpr bool operator==(const Vec2 &lhs, const Vec2 &rhs) noexcept
Definition: Vec.h:54
double x
Definition: Vec.h:44
Vec2 & operator*=(Vec2 &lhs, double scale) noexcept
Definition: Vec.h:95
double x
Definition: Vec.h:118
double y
Definition: Vec.h:119
constexpr bool operator!=(const Vec2 &lhs, const Vec2 &rhs) noexcept
Definition: Vec.h:61
constexpr Vec2 operator*(const Vec2 &lhs, double scale) noexcept
Definition: Vec.h:90
constexpr Vec2(double x, double y) noexcept
Definition: Vec.h:40
constexpr Vec3(double x, double y, double z) noexcept
Definition: Vec.h:116
std::ostream & operator<<(std::ostream &os, const Vec2 &v)
Definition: Vec.h:48
Vec2 & operator/=(Vec2 &lhs, double scale) noexcept
Definition: Vec.h:107
Definition: Announcement.h:24
double z
Definition: Vec.h:120