# HalfEdgeFaceList class

Namespace: [Grasshopper2.Geometry.HalfEdges](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.geometry.halfedges.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public class HalfEdgeFaceList : IEnumerable<HalfEdgeFace>
```

Provides access to the faces and [HalfEdgeFace](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgeface.md) related functionality of a Mesh. Derived from Plankton, (c) 2013 Daniel Piker and Will Pearson, licensed LGPL v3 or later.

## Properties

- [Count](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/count.md): Gets the number of faces.

## Indexers

- [this[]](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/item.md): Returns the [HalfEdgeFace](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgeface.md) at the given index.

## Methods

- [AddFace](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/addface.md): (3 overloads) Adds a new face to the end of the Face list. Creates any halfedge pairs that are required.
- [AddFaces](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/addfaces.md): Appends a list of faces to the end of the mesh face list.
- [FaceCentroid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/facecentroid.md): (obsolete)
- [GetEnumerator](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/getenumerator.md): Gets an enumerator that yields all faces in this collection.
- [GetFaceCenter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/getfacecenter.md): Gets the barycenter of a face's vertices.
- [GetFaceVertices](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/getfacevertices.md): Gets vertex indices of a face.
- [GetHalfedges](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/gethalfedges.md): Gets the halfedges which bound a face.
- [GetHalfedgesCirculator](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/gethalfedgescirculator.md): (obsolete) Traverses the halfedge indices which bound a face.
- [GetVertices](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/getvertices.md): (obsolete)
- [MergeFaces](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/mergefaces.md): Merges the two faces incident to the specified halfedge pair. [HalfEdgeFaceList.SplitFace(int, int)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/splitface.md)
- [NakedEdgeCount](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/nakededgecount.md): Gets the number of naked edges which bound this face.
- [RemoveFace](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/removeface.md): Removes a face from the mesh without affecting the remaining geometry. Ensures that the topology of the halfedge mesh remains fully intact.
- [SplitFace](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/splitface.md): Split a face into two faces by inserting a new edge [HalfEdgeFaceList.MergeFaces(int)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/mergefaces.md)
- [Stellate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/stellate.md): Divides an n-sided face into n triangles, adding a new vertex in the center of the face.
- [IEnumerable.GetEnumerator](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.halfedges.halfedgefacelist/system-collections-ienumerable-getenumerator.md)
