diff options
Diffstat (limited to 'src/crepe/api/Vector2.hpp')
| -rw-r--r-- | src/crepe/api/Vector2.hpp | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/src/crepe/api/Vector2.hpp b/src/crepe/api/Vector2.hpp index ff53cb0..30441d2 100644 --- a/src/crepe/api/Vector2.hpp +++ b/src/crepe/api/Vector2.hpp @@ -163,4 +163,24 @@ Vector2<T> Vector2<T>::perpendicular() const {  	return {-y, x};  } +template <class T> +bool Vector2<T>::is_nan() const { +	return std::isnan(x) && std::isnan(y); +} + +template <class T> +Vector2<T> Vector2<T>::rotate(float deg) const { +	float rad = -deg / 180 * M_PI; +	return { +		x * std::cos(rad) - y * std::sin(rad), +		x * std::sin(rad) + y * std::cos(rad), +	}; +} +  } // namespace crepe + +template <typename T> +std::format_context::iterator +std::formatter<crepe::Vector2<T>>::format(crepe::Vector2<T> vec, format_context & ctx) const { +	return formatter<string>::format(std::format("{{{}, {}}}", vec.x, vec.y), ctx); +}  |