Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Static method: ValueTuple<List<PointD>, IEnumerable<ValueTuple<int, int>>, HashSet<ValueTuple<int, int>>> DelaunayEdgesConstrained(IEnumerable<PolygonD>)

Declaration

public static ValueTuple<List<PointD>, IEnumerable<ValueTuple<int, int>>, HashSet<ValueTuple<int, int>>> DelaunayEdgesConstrained(
    IEnumerable<PolygonD> polygons
)

Summary

Generates a Delaunay triangulation of the specified polygons, supporting arbitrary nesting of islands and holes, but not supporting self-intersections. Additional vertices may be inserted only on the polygon edge, to maintain the Delaunay property. Unless a single convex polygon is passed in, the result includes edges outside the area defined by the polygons.

Parameters

IEnumerable<PolygonD>polygons Polygons to triangulate.

Returns

vertices: all vertices referenced by the edge pairs, starting with original polygon vertices in order, with additional vertices resulting from polygon edge splits appended at the end.

edges: all edges in the triangulation, represented as pairs of indices into vertices; one entry per pair of vertices, ordered arbitrarily.

polygonEdges: all edges that comprise the original polygon borders. This is similar to a concatenation of all edges of polygons, differing only in that some edges become split to maintain the Delaunay property.