- for i=2,#polygon do
- bool1 = (polygon[i][1] == polyNew[j])
- bool2 = (polygon[i][2] == polyNew[j])
- if(bool1 or bool2) then -- the edge has a common point with polyNew[j]
- if(not bool1) then
- table.insert(polyNew, polygon[i][1])
- j = j+1
- elseif(not bool2) then
- table.insert(polyNew, polygon[i][2])
- j = j+1
+ while #polyCopy>1 do
+ i=1
+ find = false
+ while (i<=#polyCopy and find==false) do
+ i = i+1
+ bool1 = (polyCopy[i][1] == polyNew[j])
+ bool2 = (polyCopy[i][2] == polyNew[j])
+ if(bool1 or bool2) then -- the edge has a common point with polyNew[j]
+ if(not bool1) then
+ table.insert(polyNew, polyCopy[i][1])
+ find = true
+ table.remove(polyCopy,i)
+ j = j+1
+ elseif(not bool2) then
+ table.insert(polyNew, polyCopy[i][2])
+ find = true
+ table.remove(polyCopy,i)
+ j = j+1
+ end