add IntersectSegment

This commit is contained in:
aozhiwei 2019-03-19 15:09:06 +08:00
parent 54f5e96b7c
commit 1427203317
2 changed files with 22 additions and 0 deletions

View File

@ -4,6 +4,27 @@
#include "collider.h"
#include "collision.h"
bool ColliderComponent::IntersectSegment(Vector2D& p0, Vector2D& p1)
{
switch (type) {
case CT_None:
break;
case CT_Aabb:
{
AabbCollider* a_aabb = (AabbCollider*)this;
return IntersectSegmentAabb(p0, p1, a_aabb->_min, a_aabb->_max);
}
break;
case CT_Circle:
{
CircleCollider* a_circle = (CircleCollider*)this;
return IntersectSegmentCircle(p0, p1, a_circle->pos, a_circle->rad);
}
break;
}
return false;
}
bool ColliderComponent::Intersect(ColliderComponent* b)
{
switch (type) {

View File

@ -16,6 +16,7 @@ class ColliderComponent
bool active = true;
bool Intersect(ColliderComponent* b);
bool IntersectSegment(Vector2D& p0, Vector2D& p1);
};
class AabbCollider : public ColliderComponent