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

AddPolygon() public method

Adds a polygon.
If the number of points is greater than 4, a triangle fan is used.
public AddPolygon ( IList points ) : void
points IList /// The points of the polygon. ///
return void
        public void AddPolygon(IList<Point3D> points)
        {
            switch (points.Count)
            {
                case 3:
                    this.AddTriangle(points[0], points[1], points[2]);
                    break;
                case 4:
                    this.AddQuad(points[0], points[1], points[2], points[3]);
                    break;
                default:
                    this.AddTriangleFan(points);
                    break;
            }
        }

Same methods

MeshBuilder::AddPolygon ( IList vertexIndices ) : void

Usage Example

        public void AddGroup(bool canShowFace)
        {
            MeshBuilder mesh = new MeshBuilder(false, false);
            if (canShowFace)
            {
                foreach (Point3D pt in this.Points)
                    mesh.Positions.Add(pt);

                foreach (List<int> pts in this.faces)
                {
                    if (pts != null)
                        mesh.AddPolygon(pts);
                }
            }
            else
            {
                foreach (Point3D pt in this.Points)
                    mesh.AddSphere(pt, pointRaduis);
            }
            var mesh1 = mesh.ToMesh(true);
            var redMaterial = MaterialHelper.CreateMaterial(Colors.Green);
            var insideMaterial = MaterialHelper.CreateMaterial(Colors.Yellow);

            // Add 3 models to the group (using the same mesh, that's why we had to freeze it)
            mg.Children.Add(new GeometryModel3D { Geometry = mesh1, Material = redMaterial, BackMaterial = insideMaterial });
        }
All Usage Examples Of HelixToolkit.Wpf.MeshBuilder::AddPolygon