예제 #1
0
        public List <LineSegment> SpanningTree(KruskalType type = KruskalType.Minimum /*, BitmapData keepOutMask = null*/)
        {
            var edges    = DelaunayHelpers.SelectNonIntersectingEdges(/*keepOutMask,*/ _edges);
            var segments = DelaunayHelpers.DelaunayLinesForEdges(edges);

            return(DelaunayHelpers.Kruskal(segments, type));
        }
예제 #2
0
 public List <LineSegment> Hull()
 {
     return(DelaunayHelpers.DelaunayLinesForEdges(HullEdges()));
 }
예제 #3
0
 public List <LineSegment> DelaunayTriangulation(/*BitmapData keepOutMask = null*/)
 {
     return
         (DelaunayHelpers.DelaunayLinesForEdges(DelaunayHelpers.SelectNonIntersectingEdges(/*keepOutMask,*/ _edges)));
 }
예제 #4
0
 public List <LineSegment> VoronoiDiagram()
 {
     return(DelaunayHelpers.VisibleLineSegments(_edges));
 }
예제 #5
0
 public List <LineSegment> DelaunayLinesForSite(Point coord)
 {
     return(DelaunayHelpers.DelaunayLinesForEdges(DelaunayHelpers.SelectEdgesForSitePoint(coord, _edges)));
 }
예제 #6
0
 public List <LineSegment> VoronoiBoundaryForSite(Point coord)
 {
     return(DelaunayHelpers.VisibleLineSegments(DelaunayHelpers.SelectEdgesForSitePoint(coord, _edges)));
 }