Pointt.iterateClosest

This commit is contained in:
kepler155c@gmail.com 2018-12-21 19:47:39 -05:00
parent 5d38c307b3
commit e14a71ab6a
1 changed files with 13 additions and 0 deletions

View File

@ -189,6 +189,8 @@ function Point.closest(reference, pts)
end
function Point.eachClosest(spt, ipts, fn)
if not ipts then error('Point.eachClosest: invalid points', 2) end
local pts = Util.shallowCopy(ipts)
while #pts > 0 do
local pt = Point.closest(spt, pts)
@ -200,6 +202,17 @@ function Point.eachClosest(spt, ipts, fn)
end
end
function Point.iterateClosest(spt, ipts)
local pts = Util.shallowCopy(ipts)
return function()
local pt = Point.closest(spt, pts)
if pt then
Util.removeByValue(pts, pt)
return pt
end
end
end
function Point.adjacentPoints(pt)
local pts = { }