CLIPMESH2DPOLYGON  Clip a planar mesh with a polygon.

   [NODES2, EDGES2, FACES2] = clipMesh2dPolygon(NODES, EDGES, FACES, POLY)
   Clips the graph defined by nodes NODES and edges EDGES with the polygon
   given in POLY. POLY is a N-by-2 array of vertices.
   The result is a new graph containing nodes inside the polygon, as well
   as nodes created by the intersection of edges with the polygon.

   Important: it is assumed that no edge crosses the polygon twice. This
   is the case if the polygon is convex (or nearly convex) and if the
   edges are small compared to the polygon.

   Example
     elli = [50 50 40 20 30];
     figure; hold on;
     drawEllipse(elli, 'k');
     poly = ellipseToPolygon(elli, 200);
     box = polygonBounds(poly);
     germs = randomPointInPolygon(poly, 100);
     drawPoint(germs, 'b.');
     [n, e, f] = boundedVoronoi2d(box, germs);
     [n2, e2, f2] = clipMesh2dPolygon(n, e, f, poly);
     drawGraphEdges(n2, e2);
     fillGraphFaces(n2, f2);

   See also
     graphs, drawGraph, clipGraph

Package: matgeom