Click or drag to resize

MeshFaceList Class

Provides access to the faces and Face related functionality of a Mesh.
Inheritance Hierarchy
SystemObject
  Rhino.Geometry.CollectionsMeshFaceList

Namespace:  Rhino.Geometry.Collections
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public class MeshFaceList : IResizableList<MeshFace>, 
	IList<MeshFace>, ICollection<MeshFace>, IEnumerable<MeshFace>, 
	IEnumerable, IList, ICollection, IReadOnlyList<MeshFace>, 
	IReadOnlyCollection<MeshFace>

The MeshFaceList type exposes the following members.

Properties
  NameDescription
Public propertyCapacity
Gets or sets the total number of mesh triangles and quads the internal data structure can hold without resizing.
Public propertyCount
Gets or sets the number of mesh faces. When getting this can includes invalid faces.
Public propertyItem
Returns the mesh face at the given index.
Public propertyQuadCount
Gets the number of faces that are valid quads (4 corners).
Public propertyTriangleCount
Gets the number of faces that are valid triangles (3 corners).
Top
Methods
  NameDescription
Public methodAddFace(MeshFace)
Appends a new mesh face to the end of the mesh face list.
Public methodAddFace(Int32, Int32, Int32)
Appends a new triangular face to the end of the mesh face list.
Public methodCode exampleAddFace(Int32, Int32, Int32, Int32)
Appends a new quadrangular face to the end of the mesh face list.
Public methodAddFaces
Appends a list of faces to the end of the mesh face list.
Public methodAdjacentFaces
Gets all faces that share a topological edge with a given face.
Public methodClear
Clears the Face list on the mesh.
Public methodConvertNonPlanarQuadsToTriangles
Splits non-planar quads into two triangles based on given parameters.
Public methodConvertQuadsToTriangles
Splits all quads along the short diagonal.
Public methodConvertTrianglesToQuads
Joins adjacent triangles into quads if the resulting quad is 'nice'.
Public methodCullDegenerateFaces
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.

Public methodDeleteFaces(IEnumerableInt32)
Removes a collection of faces from the mesh without affecting the remaining geometry.
Public methodDeleteFaces(IEnumerableInt32, Boolean)
Removes a collection of faces from the mesh without affecting the remaining geometry.
Public methodDestroy
Releases all memory allocated to store faces. The list capacity will be 0 after this call.

Subsequent calls can add new items.

Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodExtractDuplicateFaces
Extracts, or removes, duplicate faces.
Public methodExtractFaces
Extracts, or removes, faces.
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetClashingFacePairs
Gets an array of pairs of mesh faces that clash.
Public methodGetConnectedFaces(Int32)
Find all connected face indices
Public methodGetConnectedFaces(Int32, Double, Boolean)
Find all connected face indices where adjacent face normals meet the criteria of angleRadians and greaterThanAngle
Public methodGetConnectedFacesToEdges
Uses startFaceIndex and finds all connected face indexes up to unwelded or naked edges. If treatNonmanifoldLikeUnwelded is true then non-manifold edges will be considered as unwelded or naked
Public methodGetDuplicateFaces
Finds all of the duplicate faces.
Public methodGetEnumerator
Gets an enumerator that yields all faces in this collection.
Public methodGetFace
Returns the mesh face at the given index.
Public methodGetFaceAspectRatio
Returns the mesh face at the given index.
Public methodGetFaceBoundingBox
Gets the bounding box of a face.
Public methodGetFaceCenter
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.

Public methodGetFaceVertices
Gets the 3D location of the vertices forming a face.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetTopologicalVertices
Gets the topology vertex indices of a face.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetZeroAreaFaces
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.
Public methodHasNakedEdges
Returns true if at least one of the face edges are not topologically connected to any other faces.
Public methodInsert
Inserts a mesh face at a defined index in this list.
Public methodIsHidden
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.

Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMergeAdjacentFaces
Merges two triangular mesh faces that share an edge into one quadrangular face.
Public methodRemoveAt(Int32)
Removes a face from the mesh.
Public methodRemoveAt(Int32, Boolean)
Removes a face from the mesh.
Public methodRemoveZeroAreaFaces
Deletes or fixes mesh faces that have zero area.
Public methodSetFace(Int32, MeshFace)
Sets a face at a specific index of the mesh.
Public methodSetFace(Int32, Int32, Int32, Int32)
Sets a triangular face at a specific index of the mesh.
Public methodSetFace(Int32, Int32, Int32, Int32, Int32)
Sets a quadrangular face at a specific index of the mesh.
Public methodToIntArray(Boolean)
Copies all of the face indices to a linear array of indices per face. Note that this includes indices from invalid faces too.
Public methodToIntArray(Boolean, ListInt32)
Copies all of the faces to a linear array of indices. Clean-up of vertex indices if replacedIndices is a valid List<int> ///
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also