1
This commit is contained in:
parent
cc57f69109
commit
ab36720b8e
@ -183,6 +183,32 @@ namespace a8
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IntersectAabbArc(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float width)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IntersectCircleArc(a8::Vec2 a_pos,
|
||||||
|
float a_rad,
|
||||||
|
a8::Vec2 b_pos,
|
||||||
|
float b_rad,
|
||||||
|
float b_angle,
|
||||||
|
float b_width,
|
||||||
|
float b_height)
|
||||||
|
{
|
||||||
|
float distance = b_pos.Distance(a_pos);
|
||||||
|
float _min = b_rad - b_height / 2 - a_rad;
|
||||||
|
float _max = b_rad + b_height / 2 + a_rad;
|
||||||
|
if (distance < _min) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (distance > _max) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
float angle = (a_pos - b_pos).CalcAngleEx(a8::Vec2::UP);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool IntersectCircleCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad)
|
bool IntersectCircleCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad)
|
||||||
{
|
{
|
||||||
float t = a_rad + b_rad;
|
float t = a_rad + b_rad;
|
||||||
|
@ -10,7 +10,20 @@ namespace a8
|
|||||||
bool IntersectAabbCircle(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float b_rad);
|
bool IntersectAabbCircle(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float b_rad);
|
||||||
bool IntersectAabbAabb(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_min, a8::Vec2 b_max);
|
bool IntersectAabbAabb(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_min, a8::Vec2 b_max);
|
||||||
bool IntersectAabbObb(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float rotate);
|
bool IntersectAabbObb(a8::Vec2 a_min, a8::Vec2 a_max, a8::Vec2 b_pos, float rotate);
|
||||||
|
bool IntersectAabbArc(a8::Vec2 a_min,
|
||||||
|
a8::Vec2 a_max,
|
||||||
|
a8::Vec2 b_pos,
|
||||||
|
float b_rad,
|
||||||
|
float b_width,
|
||||||
|
float b_height);
|
||||||
bool IntersectCircleCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad);
|
bool IntersectCircleCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad);
|
||||||
|
bool IntersectCircleArc(a8::Vec2 a_pos,
|
||||||
|
float a_rad,
|
||||||
|
a8::Vec2 b_pos,
|
||||||
|
float b_rad,
|
||||||
|
float b_angle,
|
||||||
|
float b_width,
|
||||||
|
float b_height);
|
||||||
bool IntersectSectorCircle(a8::Vec2 a_pos, float angle, float a_rad, a8::Vec2 b_pos, float b_rad);
|
bool IntersectSectorCircle(a8::Vec2 a_pos, float angle, float a_rad, a8::Vec2 b_pos, float b_rad);
|
||||||
bool IntersectSectorAabb(a8::Vec2 a_pos, float angle, float a_rad, a8::Vec2 b_min, a8::Vec2 b_max);
|
bool IntersectSectorAabb(a8::Vec2 a_pos, float angle, float a_rad, a8::Vec2 b_min, a8::Vec2 b_max);
|
||||||
bool CircleContainCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad);
|
bool CircleContainCircle(a8::Vec2 a_pos, float a_rad, a8::Vec2 b_pos, float b_rad);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user