/** Test a ray against another ray. * When no collision is found, this function returns null. * Returns a `RayIntersection` if a collision is found. */ public static RayIntersection rayWithRay(Ray ray1, Ray ray2) { return(Sat2D.testRayVsRay(ray1, ray2)); }
public override ShapeCollision testPolygon(Polygon polygon, bool flip = false) { return(Sat2D.testPolygonVsPolygon(this, polygon, flip)); }
public override RayCollision testRay(Ray ray) { return(Sat2D.testRayVsPolygon(ray, this)); }
public override bool IntersectsRay(Ray ray, out RayCollision rayCollision) => Sat2D.TestRayVsCircle(ray, this, out rayCollision);
public override ShapeCollision testCircle(Circle circle, bool flip = false) { return(Sat2D.testCircleVsPolygon(circle, this, !flip)); }
public override bool CollidesWithPolygon(Polygon polygon, out ShapeCollision shapeCollision, bool flip = false) => Sat2D.TestCircleVsPolygon(this, polygon, out shapeCollision, flip);
public override bool CollidesWithCircle(Circle circle, out ShapeCollision shapeCollision, bool flip = false) => Sat2D.TestCircleVsCircle(this, circle, out shapeCollision, flip);
public override RayCollision testRay(Ray ray) { return(Sat2D.testRayVsCircle(ray, this)); }
public override ShapeCollision testCircle(Circle circle, bool flip = false) { return(Sat2D.testCircleVsCircle(this, circle, flip)); }
public override bool CollidesWithCircle(Circle circle, out ShapeCollision shapeCollision, bool flip = false) => Sat2D.TestCircleVsPolygon(circle, this, out shapeCollision, !flip);