add IntersectSegment
This commit is contained in:
parent
54f5e96b7c
commit
1427203317
@ -4,6 +4,27 @@
|
|||||||
#include "collider.h"
|
#include "collider.h"
|
||||||
#include "collision.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)
|
bool ColliderComponent::Intersect(ColliderComponent* b)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
@ -16,6 +16,7 @@ class ColliderComponent
|
|||||||
bool active = true;
|
bool active = true;
|
||||||
|
|
||||||
bool Intersect(ColliderComponent* b);
|
bool Intersect(ColliderComponent* b);
|
||||||
|
bool IntersectSegment(Vector2D& p0, Vector2D& p1);
|
||||||
};
|
};
|
||||||
|
|
||||||
class AabbCollider : public ColliderComponent
|
class AabbCollider : public ColliderComponent
|
||||||
|
Loading…
x
Reference in New Issue
Block a user