blah/include/blah/numerics/circle.h

26 lines
526 B
C
Raw Normal View History

2020-08-26 15:38:01 +08:00
#pragma once
#include <blah/numerics/vec2.h>
2020-08-26 15:38:01 +08:00
namespace Blah
{
struct Circle
{
Vec2 center;
float radius;
2021-05-11 17:27:00 +08:00
constexpr Circle()
2020-08-26 15:38:01 +08:00
: center(), radius(0) {}
2021-05-11 17:27:00 +08:00
constexpr Circle(Vec2 center, float radius)
2020-08-26 15:38:01 +08:00
: center(center), radius(radius) {}
2021-05-11 17:27:00 +08:00
constexpr Circle(float x, float y, float radius)
2020-12-06 05:49:22 +08:00
: center(x, y), radius(radius) {}
2021-05-11 17:27:00 +08:00
constexpr void project(const Vec2& axis, float* min, float* max) const
{
*min = Vec2::dot(center - axis * radius, axis);
*max = Vec2::dot(center + axis * radius, axis);
}
2020-08-26 15:38:01 +08:00
};
}