Faces from a mesh: Difference between revisions

Content added Content deleted
Line 249: Line 249:
throw("Invalid Edge vector for a Face.")
throw("Invalid Edge vector for a Face.")
end
end
toarr(p) = [p[1], p[2]]
ret, edges = collect(evec[1]), copy(evec[2:end])
ret, edges = toarr(evec[1]), copy(evec[2:end])
while !isempty(edges)
while !isempty(edges)
i = findfirst(x -> ret[end] == x[1] || ret[end] == x[2], edges)
i = findfirst(x -> ret[end] == x[1] || ret[end] == x[2], edges)
pts = toarr(edges[i])
push!(ret, ret[end] == edges[i][1] ? edges[i][2] : edges[i][1])
push!(ret, ret[end] == pts[1] ? pts[2] : pts[1])
deleteat!(edges, i)
deleteat!(edges, i)
end
end