POLYGONVERTICES Extract all vertices of a (multi-)polygon.

   VERTS = polygonVertices(POLY)
   Returns the set of verttices from the polygon POLY. POLY can be either:
   * a N-by-2 array of vertices. In that case, POLY and VERTS are the
       same.
   * a N-by-2 array of vertices with pairs of NaN values separating two
       rings of the polygon. In that case, the array VERTS corresponds to
       the vertices of the polygon, without copying the NaN values.
   * a cell array of loops. In that case, the functions recursively
       process the polygons and populated the vertex array.


   Example
     % create a polygon with a hole, using NaN for separating rings
     ring1 = [0 0 ; 50 0;50 50;0 50];
     ring2 = [20 20;20 30;30 30;30 20];
     poly = [ring1 ; NaN NaN ; ring2];
     figure; drawPolygon(poly, 'b'); 
     axis([-10 60 -10 60]); axis equal; hold on;
     verts = polygonVertices(poly);
     drawPoint(verts, 'bo');

     % create a polygon with a hole, storing rings in cell array
     ring1 = [0 0 ; 50 0;50 50;0 50];
     ring2 = [20 20;20 30;30 30;30 20];
     poly = {ring1, ring2};
     figure; drawPolygon(poly, 'b'); 
     axis([-10 60 -10 60]); axis equal; hold on;
     verts = polygonVertices(poly);
     drawPoint(verts, 'bo');

   See also
     polygons2d, polygonEdges

Package: matgeom