Собственно, сабж. Нужно получить что-то вроде grow, только без выделения - чисто массив вершин.
function getNeighborVertex geom vertex = (
j = 1
tmp_vert_ar1 = #()
while(j <= geom.GetVertexEdgeCount vertex) do (
tmp_edge = geom.GetVertexEdge vertex j
v1 = geom.GetEdgeVertex tmp_edge 1
v2 = geom.GetEdgeVertex tmp_edge 2
if(v1 != vertex ) do append tmp_vert_ar1 v1
if(v2 != vertex ) do append tmp_vert_ar1 v2
j = j + 1
)
return tmp_vert_ar1
)
Оно работает, но ОЧЕНЬ медленно. Я даже не понимаю почему так.
function getNeighborVertex geom vertex = (
j = 1
tmp_vert_ar1 = #()
while(j <= geom.GetVertexEdgeCount vertex) do (
tmp_edge = geom.GetVertexEdge vertex j
v1 = geom.GetEdgeVertex tmp_edge 1
v2 = geom.GetEdgeVertex tmp_edge 2
if(v1 != vertex ) do append tmp_vert_ar1 v1
if(v2 != vertex ) do append tmp_vert_ar1 v2
j = j + 1
)
return tmp_vert_ar1
)
Оно работает, но ОЧЕНЬ медленно. Я даже не понимаю почему так.