geometry :: Boxed :: intersects
self
intersect with other
?var a = new Box[Int].lbwh(0, 0, 2, 2)
var b = new Box[Int].lbwh(1, 1, 8, 2)
var c = new Box[Int].lbwh(3, 0, 2, 8)
assert a.intersects(b)
assert b.intersects(a)
assert b.intersects(c)
assert c.intersects(b)
assert not c.intersects(a)
assert not a.intersects(c)
# Does `self` intersect with `other`?
#
# var a = new Box[Int].lbwh(0, 0, 2, 2)
# var b = new Box[Int].lbwh(1, 1, 8, 2)
# var c = new Box[Int].lbwh(3, 0, 2, 8)
# assert a.intersects(b)
# assert b.intersects(a)
# assert b.intersects(c)
# assert c.intersects(b)
# assert not c.intersects(a)
# assert not a.intersects(c)
fun intersects(other: Boxed[N]): Bool
do
return self.left <= other.right and other.left <= self.right and
self.top >= other.bottom and other.top >= self.bottom
end
lib/geometry/boxes.nit:61,2--76,4
# var a = new Box3d[Int].lbfwhd(0, 0, 0, 2, 2, 2)
# var b = new Box3d[Int].lbfwhd(1, 1, 1, 8, 2, 2)
# var c = new Box3d[Int].lbfwhd(3, 0, 0, 2, 2, 8)
# assert a.intersects(b)
# assert b.intersects(a)
# assert b.intersects(c)
# assert c.intersects(b)
# assert not c.intersects(a)
# assert not a.intersects(c)
redef fun intersects(other)
do
return super and (not other isa Boxed3d[N] or
(self.back <= other.front and other.back <= self.front))
end
lib/geometry/boxes.nit:182,2--195,4