HelixToolkit.Wpf.MeshBuilder.AddPolygonByCuttingEars C# (CSharp) Method

AddPolygonByCuttingEars() public method

Adds a polygon defined by vertex indices (uses the cutting ears algorithm).
public AddPolygonByCuttingEars ( IList vertexIndices ) : void
vertexIndices IList The vertex indices.
return void
        public void AddPolygonByCuttingEars(IList<int> vertexIndices)
        {
            var points = vertexIndices.Select(vi => this.positions[vi]).ToList();

            var poly3D = new Polygon3D(points);

            // Transform the polygon to 2D
            var poly2D = poly3D.Flatten();

            // Triangulate
            var triangulatedIndices = poly2D.Triangulate();
            if (triangulatedIndices != null)
            {
                foreach (var i in triangulatedIndices)
                {
                    this.triangleIndices.Add(vertexIndices[i]);
                }
            }
        }