mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 15:03:27 +00:00
added some nodiscards
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
|
||||
#pragma once
|
||||
#include <optional>
|
||||
#include <vector>
|
||||
#include <uml/Vector3.h>
|
||||
|
||||
|
||||
@@ -35,7 +34,6 @@ namespace uml::prediction
|
||||
const Projectile& projectile) const;
|
||||
|
||||
private:
|
||||
|
||||
const float m_gravity;
|
||||
const float m_maxTravelTime;
|
||||
const float m_timeStepSize;
|
||||
@@ -49,8 +47,9 @@ namespace uml::prediction
|
||||
const Vector3& targetPosition) const;
|
||||
|
||||
[[nodiscard]]
|
||||
std::optional<float> ProjectileTravelTime(const Vector3& end, const Projectile& projectile,
|
||||
const float angle) const;
|
||||
std::optional<float> ProjectileTravelTime(const Vector3& end,
|
||||
const Projectile& projectile,
|
||||
float angle) const;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -12,10 +12,13 @@ namespace uml
|
||||
public:
|
||||
float w = 0.f;
|
||||
|
||||
Vector4(float x = 0.f, float y = 0.f, float z = 0.f, float w = 0.f) : Vector3(x, y, z), w(w) {}
|
||||
Vector4(const float x = 0.f, const float y = 0.f, const float z = 0.f, const float w = 0.f) : Vector3(x, y, z), w(w) {}
|
||||
Vector4() = default;
|
||||
|
||||
[[nodiscard]]
|
||||
bool operator==(const Vector4& src) const;
|
||||
|
||||
[[nodiscard]]
|
||||
bool operator!=(const Vector4& src) const;
|
||||
|
||||
Vector4& operator+=(const Vector4& v);
|
||||
@@ -28,15 +31,32 @@ namespace uml
|
||||
[[nodiscard]] float Length() const;
|
||||
[[nodiscard]] float LengthSqr() const;
|
||||
[[nodiscard]] float Dot(const Vector4& vOther) const;
|
||||
|
||||
Vector4& Abs();
|
||||
Vector4& Clamp(float min, float max);
|
||||
|
||||
[[nodiscard]]
|
||||
Vector4 operator-() const;
|
||||
|
||||
[[nodiscard]]
|
||||
Vector4 operator+(const Vector4& v) const;
|
||||
|
||||
[[nodiscard]]
|
||||
Vector4 operator-(const Vector4& v) const;
|
||||
|
||||
[[nodiscard]]
|
||||
Vector4 operator*(float scalar) const;
|
||||
|
||||
[[nodiscard]]
|
||||
Vector4 operator*(const Vector4& v) const;
|
||||
|
||||
[[nodiscard]]
|
||||
Vector4 operator/(float scalar) const;
|
||||
|
||||
[[nodiscard]]
|
||||
Vector4 operator/(const Vector4& v) const;
|
||||
|
||||
[[nodiscard]] float Sum() const;
|
||||
[[nodiscard]]
|
||||
float Sum() const;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace uml::color
|
||||
public:
|
||||
Color(float r, float g, float b, float a);
|
||||
static Color FromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a);
|
||||
explicit Color(const Vector4& vec);
|
||||
explicit Color(Vector4 vec);
|
||||
[[nodiscard]] Color Blend(const Color& other, float ratio) const;
|
||||
|
||||
[[nodiscard]] static Color Red() {return {1.f, 0.f, 0.f, 1.f};}
|
||||
|
||||
Reference in New Issue
Block a user