MeshFaceList Class 
Namespace: Rhino.Geometry.Collections
The MeshFaceList type exposes the following members.
Name  Description  

Capacity 
Gets or sets the total number of mesh triangles and quads the internal data structure can hold without resizing.
 
Count 
Gets or sets the number of mesh faces. When getting this can includes invalid faces.
 
Item 
Returns the mesh face at the given index.
 
QuadCount 
Gets the number of faces that are valid quads (4 corners).
 
TriangleCount 
Gets the number of faces that are valid triangles (3 corners).

Name  Description  

AddFace(MeshFace) 
Appends a new mesh face to the end of the mesh face list.
 
AddFace(Int32, Int32, Int32) 
Appends a new triangular face to the end of the mesh face list.
 
AddFace(Int32, Int32, Int32, Int32) 
Appends a new quadrangular face to the end of the mesh face list.
 
AddFaces 
Appends a list of faces to the end of the mesh face list.
 
AdjacentFaces 
Gets all faces that share a topological edge with a given face.
 
Clear 
Clears the Face list on the mesh.
 
ConvertNonPlanarQuadsToTriangles 
Splits nonplanar quads into two triangles based on given parameters.
 
ConvertQuadsToTriangles  Splits all quads along the short diagonal.  
ConvertTrianglesToQuads 
Joins adjacent triangles into quads if the resulting quad is 'nice'.
 
CullDegenerateFaces 
Attempts to removes degenerate faces from the mesh.
Degenerate faces are faces that contains such a combination of indices, that their final shape collapsed in a line or point. Before returning, this method also attempts to repair faces by juggling vertex indices.  
DeleteFaces(IEnumerableInt32) 
Removes a collection of faces from the mesh without affecting the remaining geometry.
 
DeleteFaces(IEnumerableInt32, Boolean) 
Removes a collection of faces from the mesh without affecting the remaining geometry.
 
Destroy 
Releases all memory allocated to store faces. The list capacity will be 0 after this call.
Subsequent calls can add new items.  
Equals  Determines whether the specified object is equal to the current object. (Inherited from Object.)  
ExtractDuplicateFaces 
Extracts, or removes, duplicate faces.
 
ExtractFaces 
Extracts, or removes, faces.
 
Finalize  Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)  
GetClashingFacePairs 
Gets an array of pairs of mesh faces that clash.
 
GetConnectedFaces(Int32) 
Find all connected face indices
 
GetConnectedFaces(Int32, Double, Boolean) 
Find all connected face indices where adjacent face normals meet
the criteria of angleRadians and greaterThanAngle
 
GetConnectedFacesToEdges 
Uses startFaceIndex and finds all connected face indexes up to unwelded
or naked edges. If treatNonmanifoldLikeUnwelded is true then nonmanifold
edges will be considered as unwelded or naked
 
GetDuplicateFaces 
Finds all of the duplicate faces.
 
GetEnumerator 
Gets an enumerator that yields all faces in this collection.
 
GetFace 
Returns the mesh face at the given index.
 
GetFaceAspectRatio 
Returns the mesh face at the given index.
 
GetFaceBoundingBox 
Gets the bounding box of a face.
 
GetFaceCenter 
Gets the center point of a face.
For a triangular face, this is the centroid or barycenter. For a quad, this is the average of four comer points.  
GetFaceVertices 
Gets the 3D location of the vertices forming a face.
 
GetHashCode  Serves as the default hash function. (Inherited from Object.)  
GetTopologicalVertices 
Gets the topology vertex indices of a face.
 
GetType  Gets the Type of the current instance. (Inherited from Object.)  
GetZeroAreaFaces 
Examines and adds face indexes to whollyDegenerateFaces if the face is a triangle with zero area or a quad both triangles have zero area.
Face indexes are added to partiallyDegenerateFaces when a quad has one triangle with zero area.
 
HasNakedEdges 
Returns true if at least one of the face edges are not topologically
connected to any other faces.
 
Insert 
Inserts a mesh face at a defined index in this list.
 
IsHidden 
Gets a value indicating whether a face is hidden.
A face is hidden if, and only if, at least one of its vertices is hidden.  
MemberwiseClone  Creates a shallow copy of the current Object. (Inherited from Object.)  
MergeAdjacentFaces 
Merges two triangular mesh faces that share an edge into one quadrangular face.
 
RemoveAt(Int32) 
Removes a face from the mesh.
 
RemoveAt(Int32, Boolean) 
Removes a face from the mesh.
 
RemoveZeroAreaFaces 
Deletes or fixes mesh faces that have zero area.
 
SetFace(Int32, MeshFace) 
Sets a face at a specific index of the mesh.
 
SetFace(Int32, Int32, Int32, Int32) 
Sets a triangular face at a specific index of the mesh.
 
SetFace(Int32, Int32, Int32, Int32, Int32) 
Sets a quadrangular face at a specific index of the mesh.
 
ToIntArray(Boolean) 
Copies all of the face indices to a linear array of indices per face.
Note that this includes indices from invalid faces too.
 
ToIntArray(Boolean, ListInt32) 
Copies all of the faces to a linear array of indices.
Cleanup of vertex indices if replacedIndices is a valid List<int>
///  
ToString  Returns a string that represents the current object. (Inherited from Object.) 