geometry :: APolygon :: intersects
self
intersects with other
# Does `self` intersects with `other`
fun intersects(other: APolygon): Bool is abstract
lib/geometry/polygon.nit:143,2--144,50
# Does this polygon intersects `other` ?
#
# ~~~
# var p1 = new Point[Float](0.0, 0.0)
# var p2 = new Point[Float](5.0, 0.0)
# var p3 = new Point[Float](0.0, 5.0)
# var p4 = new Point[Float](5.0, 5.0)
# var arr = new Array[Point[Float]].with_items(p1, p2, p3, p4)
# var poly = new ConvexPolygon(arr)
# poly.sort_ccw
# p1 = new Point[Float](2.5, 2.5)
# p2 = new Point[Float](7.5, 2.5)
# p3 = new Point[Float](2.5, 7.5)
# p4 = new Point[Float](7.5, 7.5)
# arr = new Array[Point[Float]].with_items(p1, p2, p3, p4)
# var poly2 = new ConvexPolygon(arr)
# poly2.sort_ccw
# assert poly.intersects(poly2)
# ~~~
redef fun intersects(other) do
assert is_convex
var axes1 = axes
var axes2 = other.axes
for axis in axes1 do
var project1 = project(axis)
var project2 = other.project(axis)
if not project1.overlap(project2) then return false
end
for axis in axes2 do
var project1 = project(axis)
var project2 = other.project(axis)
if not project1.overlap(project2) then return false
end
return true
end
lib/geometry/polygon.nit:166,2--201,4