In the case you have the links of each vertex sorted clockwise or inverse, you can take a vertex, go to its neighbor and go to the next vertex by the next link until you reach the first vertex, closing the shape.



If you create each link as a couple of links, one per direction starting from each vertex involved in the link, you can disable the links involved on the shape creation until you have no linked vertexes at all.



It will definetively create a shape per zone, but it is a bit complicated...

Hope it helps