Inside of the ImpulsePhysics::CollisionChecks2D
namespace, you will find the following functions available to you to check for any possible overlap:
(All of these return a bool
as value, with true
meaning the two given 2D Primitives are overlapping.)
Point tests
IsPointOnLine(Point2D, Line2D)
IsPointInCircle(Point2D, Circle2D)
IsPointInRectangle(Point2D, Rectangle2D)
IsPointInOrientedRectangle(Point2D, RectangleOriented)
Line tests
IsLineInsideCircle(Line2D, Circle2D)
IsLineInsideRectnagle(Line2D, Rectangle2D)
IsLineInsideOrientedRectangle(Line2D, RectangleOriented)
Circle tests
CircleCircleCollision(Circle2D, Circle2D)
CircleRectangleCollision(Circle2D, Rectangle2D)
CircleOrientedRectangleCollision(Circle2D, RectangleOriented)
Rectangle tests
RectangleRectangleCollision(Rectangle2D, Rectangle2D)
RectangleRectangleCollisionSAT(Rectnagle2D, Rectangle2D) – similar to the above, but uses the SAT algorithm instead.
Oriented Rectangle tests
OrientedRectangleRectangleCollision(RectangleOriented, Rectangle2D)
OrientedRectangleOrientedRectangleCollision(RectangleOriented, RectangleOriented)