T_Rhino_Geometry_Mesh - mcneel/rhinocommon-api-docs GitHub Wiki
Represents a geometry type that is defined by vertices and faces. This is often called a face-vertex mesh.
System.Object
Rhino.Runtime.CommonObject
Rhino.Geometry.GeometryBase
Rhino.Geometry.Mesh
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll) Version: Rhino 6.0
C#
[SerializableAttribute]
public class Mesh : GeometryBase
VB
<SerializableAttribute>
Public Class Mesh
Inherits GeometryBase
The Mesh type exposes the following members.
Name | Description | |
---|---|---|
![]() ![]() |
Mesh() | Initializes a new empty mesh. |
![]() |
Mesh(SerializationInfo, StreamingContext) | Protected constructor for internal use. |
Name | Description | |
---|---|---|
![]() |
ComponentStates | Gets access to the vertex hidden/visibility collection in this mesh. This is a runtime property and it is not saved in the 3dm file. |
![]() |
DisjointMeshCount | Gets the number of disjoint (topologically unconnected) pieces in this mesh. |
![]() |
FaceNormals | Gets access to the face normal collection in this mesh. |
![]() ![]() |
Faces | Gets access to the mesh face list. |
![]() |
HasBrepForm | Returns true if the Brep.TryConvertBrep function will be successful for this object (Inherited from GeometryBase.) |
![]() |
HasCachedTextureCoordinates | Will return true if SetCachedTextureCoordinates has been called; otherwise will return false. |
![]() |
HasUserData | Gets true if this class has any custom information attached to it through UserData. (Inherited from CommonObject.) |
![]() |
IsClosed | Gets a value indicating whether a mesh is considered to be closed (solid). A mesh is considered solid when every mesh edge borders two or more faces. |
![]() |
IsDeformable | true if object can be accurately modified with "squishy" transformations like projections, shears, and non-uniform scaling. (Inherited from GeometryBase.) |
![]() |
IsDocumentControlled | If true this object may not be modified. Any properties or functions that attempt to modify this object when it is set to "IsReadOnly" will throw a NotSupportedException. (Inherited from GeometryBase.) |
![]() |
IsValid | Tests an object to see if it is valid. (Inherited from CommonObject.) |
![]() |
Ngons |
Gets access to the mesh ngon list.
Ngons represent groups of Faces (triangles + quads).
Faces are used to tessellate an Ngon internally. When a triangle or quad is referenced in the Ngon list, it is no longer visualized and conceived as a single entity, but takes part of the Ngon. If you need to get access to both Ngons and the faces that are not referenced by Ngons, that is, all polygons that are visible in the mesh, then use the GetNgonAndFacesEnumerable() helper method. |
![]() ![]() |
Normals | Gets access to the vertex normal collection in this mesh. |
![]() |
ObjectType | Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on. (Inherited from GeometryBase.) |
![]() |
PartitionCount | Number of partition information chunks stored on this mesh based on the last call to CreatePartitions |
![]() |
TextureCoordinates | Gets access to the vertex texture coordinate collection in this mesh. |
![]() |
TopologyEdges | Gets the MeshTopologyEdgeList object associated with this mesh. This object stores edge connectivity. |
![]() |
TopologyVertices | Gets the MeshTopologyVertexList object associated with this mesh. This object stores vertex connectivity and the indices of vertices that were unified while computing the edge topology. |
![]() |
UserData | List of custom information that is attached to this class. (Inherited from CommonObject.) |
![]() |
UserDictionary | Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use sharable set of information. (Inherited from CommonObject.) |
![]() |
UserStringCount | Gets the amount of user strings. (Inherited from GeometryBase.) |
![]() |
VertexColors | Gets access to the (optional) vertex color collection in this mesh. |
![]() ![]() |
Vertices | Gets access to the vertices set of this mesh. |
Name | Description | |
---|---|---|
![]() ![]() |
Append | Appends a copy of another mesh to this one and updates indices of appended mesh parts. |
![]() |
ClearSurfaceData | Removes surface parameters, curvature parameters and surface statistics from the mesh. |
![]() |
ClearTextureData | Removes all texture coordinate information from this mesh. |
![]() |
ClosestMeshPoint | Gets the point on the mesh that is closest to a given test point. Similar to the ClosestPoint function except this returns a MeshPoint class which includes extra information beyond just the location of the closest point. |
![]() |
ClosestPoint(Point3d) | Gets the point on the mesh that is closest to a given test point. |
![]() |
ClosestPoint(Point3d, Point3d, Double) | Gets the point on the mesh that is closest to a given test point. |
![]() |
ClosestPoint(Point3d, Point3d, Vector3d, Double) | Gets the point on the mesh that is closest to a given test point. |
![]() |
CollapseFacesByArea | Collapses multiple mesh faces, with areas less than LessThanArea and greater than GreaterThanArea, based on the principles found in Stan Melax's mesh reduction PDF, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf |
![]() |
CollapseFacesByByAspectRatio | Collapses a multiple mesh faces, determined by face aspect ratio, based on criteria found in Stan Melax's polygon reduction, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf |
![]() |
CollapseFacesByEdgeLength | Collapses multiple mesh faces, with greater/less than edge length, based on the principles found in Stan Melax's mesh reduction PDF, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf |
![]() |
ColorAt(MeshPoint) | Evaluate a mesh color at a set of barycentric coordinates. |
![]() |
ColorAt(Int32, Double, Double, Double, Double) | Evaluate a mesh normal at a set of barycentric coordinates. Barycentric coordinates must be assigned in accordance with the rules as defined by MeshPoint.T. |
![]() ![]() |
Compact | Removes any unreferenced objects from arrays, reindexes as needed and shrinks arrays to minimum required size. |
![]() |
ComponentIndex | If this piece of geometry is a component in something larger, like a BrepEdge in a Brep, then this function returns the component index. (Inherited from GeometryBase.) |
![]() |
ComputeAutoCreaseInformation | Do not use this method. Length: top.Mesh.Vertices.Count |
![]() ![]() |
ComputeThickness(IEnumerable(Mesh), Double) | Compute thickness metrics for this mesh. |
![]() ![]() |
ComputeThickness(IEnumerable(Mesh), Double, CancellationToken) | Compute thickness metrics for this mesh. |
![]() ![]() |
ComputeThickness(IEnumerable(Mesh), Double, Double, CancellationToken) | Compute thickness metrics for this mesh. |
![]() |
ConstructConstObject | Assigns a parent object and a subobject index to this. (Inherited from CommonObject.) |
![]() |
CopyFrom | Copies mesh values into this mesh from another mesh. |
![]() ![]() |
CreateBooleanDifference | Computes the solid difference of two sets of Meshes. |
![]() ![]() |
CreateBooleanIntersection | Computes the solid intersection of two sets of meshes. |
![]() ![]() |
CreateBooleanSplit | Splits a set of meshes with another set. |
![]() ![]() |
CreateBooleanUnion | Computes the solid union of a set of meshes. |
![]() ![]() |
CreateContourCurves(Mesh, Plane) | Constructs contour curves for a mesh, sectioned at a plane. |
![]() ![]() ![]() |
CreateContourCurves(Mesh, Point3d, Point3d, Double) | Constructs contour curves for a mesh, sectioned along a linear axis. |
![]() ![]() |
CreateFromBox(BoundingBox, Int32, Int32, Int32) | Constructs new mesh that matches a bounding box. |
![]() ![]() |
CreateFromBox(Box, Int32, Int32, Int32) | Constructs new mesh that matches an aligned box. |
![]() ![]() |
CreateFromBox(IEnumerable(Point3d), Int32, Int32, Int32) | Constructs new mesh from 8 corner points. |
![]() ![]() ![]() |
CreateFromBrep(Brep) | Constructs a mesh from a brep. |
![]() ![]() ![]() |
CreateFromBrep(Brep, MeshingParameters) | Constructs a mesh from a brep. |
![]() ![]() |
CreateFromClosedPolyline | Attempts to create a Mesh that is a triangulation of a closed polyline. |
![]() ![]() |
CreateFromCone | Constructs a mesh cone |
![]() ![]() |
CreateFromCurvePipe | Constructs a new mesh pipe from a curve. |
![]() ![]() |
CreateFromCylinder | Constructs a mesh cylinder |
![]() ![]() |
CreateFromLines | Creates a mesh by analizing the edge structure that could result from the extraction of edges from an original mesh. |
![]() ![]() |
CreateFromPlanarBoundary(Curve, MeshingParameters) | **Obsolete. ** Attempts to construct a mesh from a closed planar curve.RhinoMakePlanarMeshes |
![]() ![]() |
CreateFromPlanarBoundary(Curve, MeshingParameters, Double) | Attempts to construct a mesh from a closed planar curve.RhinoMakePlanarMeshes |
![]() ![]() |
CreateFromPlane | Constructs a planar mesh grid. |
![]() ![]() |
CreateFromSphere | Constructs a mesh sphere. |
![]() ![]() |
CreateFromTessellation | Attempts to create a mesh that is a triangulation of a list of points, projected on a plane, including its holes and fixed edges. |
![]() |
CreatePartitions | In ancient times (or modern smartphone times), some rendering engines were only able to process small batches of triangles and the CreatePartitions() function was provided to partition the mesh into subsets of vertices and faces that those rendering engines could handle. |
![]() ![]() |
CreateRefinedCatmullClarkMesh | Instantiates a new mesh that represents a Catmull-Clark subdivision of the mesh. |
![]() ![]() |
CreateRefinedLoopMesh | Instantiates a new mesh that represents a Loop subdivision of the mesh. |
![]() |
DestroyPartition | Destroys mesh partition. |
![]() |
DestroyTopology | Removes topology data, forcing all topology information to be recomputed. |
![]() |
DestroyTree | Destroys the mesh vertex access tree. |
![]() |
Dispose() | Actively reclaims unmanaged resources that this instance uses. (Inherited from CommonObject.) |
![]() |
Dispose(Boolean) |
For derived class implementers.
This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.
You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true. Also, you must call the base virtual method within your overriding method. (Inherited from CommonObject.) |
![]() |
Duplicate | Constructs a copy of this mesh. This is the same as DuplicateMesh(). (Overrides GeometryBase.Duplicate().) |
![]() |
DuplicateMesh | Constructs a copy of this mesh. This is the same as Duplicate(). |
![]() |
DuplicateShallow | Constructs a light copy of this object. By "light", it is meant that the same underlying data is used until something is done to attempt to change it. For example, you could have a shallow copy of a very heavy mesh object and the same underlying data will be used when doing things like inspecting the number of faces on the mesh. If you modify the location of one of the mesh vertices, the shallow copy will create a full duplicate of the underlying mesh data and the shallow copy will become a deep copy. (Inherited from GeometryBase.) |
![]() |
EnsurePrivateCopy | If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want. (Inherited from CommonObject.) |
![]() |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() |
EvaluateMeshGeometry | If the mesh has SurfaceParameters, the surface is evaluated at these parameters and the mesh geometry is updated. |
![]() |
ExplodeAtUnweldedEdges | Explode the mesh into submeshes where a submesh is a collection of faces that are contained within a closed loop of "unwelded" edges. Unwelded edges are edges where the faces that share the edge have unique mesh vertexes (not mesh topology vertexes) at both ends of the edge. |
![]() |
ExtendSelectionByEdgeRidge | Suggests an extension of a selection set by using information related with topology and alignment. |
![]() |
ExtendSelectionByFaceLoop | Suggests an extension of a face selection set by using information related with topology and alignment. |
![]() |
Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() |
Finalize() | Passively reclaims unmanaged resources when the class user did not explicitly call Dispose(). (Inherited from CommonObject.) |
![]() |
Flip | Reverses the direction of the mesh. |
![]() ![]() |
GetBoundingBox(Boolean) | Boundingbox solver. Gets the world axis aligned boundingbox for the geometry. (Inherited from GeometryBase.) |
![]() ![]() |
GetBoundingBox(Plane) | Aligned Boundingbox solver. Gets the plane aligned boundingbox. (Inherited from GeometryBase.) |
![]() |
GetBoundingBox(Transform) | Aligned Boundingbox solver. Gets the world axis aligned boundingbox for the transformed geometry. (Inherited from GeometryBase.) |
![]() |
GetBoundingBox(Plane, Box) | Aligned Boundingbox solver. Gets the plane aligned boundingbox. (Inherited from GeometryBase.) |
![]() |
GetCachedTextureCoordinates | Call this method to get cached texture coordinates for a texture mapping with the specified Id. |
![]() |
GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() |
GetNakedEdgePointStatus | Returns an array of bool values equal in length to the number of vertices in this mesh. Each value corresponds to a mesh vertex and is set to true if the vertex is not completely surrounded by faces. |
![]() ![]() |
GetNakedEdges | Returns all edges of a mesh that are considered "naked" in the sense that the edge only has one face. |
![]() |
GetNgonAndFacesCount | Retrieves the count of items that GetNgonAndFacesEnumerable() will provide. |
![]() |
GetNgonAndFacesEnumerable | Retrieves a complete enumerable, i.e., one that provides an iterator over every face that is present, no matter if defined as a triangle, a quad, or a strictly over-four-sided ngon. |
![]() |
GetObjectData | Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object. (Inherited from CommonObject.) |
![]() |
GetOutlines(Plane) | Constructs the outlines of a mesh projected against a plane. |
![]() |
GetOutlines(RhinoViewport) | Constructs the outlines of a mesh. The projection information in the viewport is used to determine how the outlines are projected. |
![]() |
GetPartition | Retrieves a partition. See CreatePartitions(Int32, Int32) for details. |
![]() |
GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() |
GetUnsafeLock | Allows to obtain unsafe pointers to the underlying unmanaged data structures of the mesh. |
![]() |
GetUserString | Gets user string from this geometry. (Inherited from GeometryBase.) |
![]() |
GetUserStrings | Gets a copy of all (user key string, user value string) pairs attached to this geometry. (Inherited from GeometryBase.) |
![]() |
IsManifold | Gets a value indicating whether or not the mesh is manifold. A manifold mesh does not have any edge that borders more than two faces. |
![]() |
IsPointInside | Determines if a point is inside a solid mesh. |
![]() |
IsValidWithLog | Determines if an object is valid. Also provides a report on errors if this object happens not to be valid. (Inherited from CommonObject.) |
![]() |
MakeDeformable | If possible, converts the object into a form that can be accurately modified with "squishy" transformations like projections, shears, an non-uniform scaling. (Inherited from GeometryBase.) |
![]() |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() |
MemoryEstimate | Computes an estimate of the number of bytes that this object is using in memory. (Inherited from GeometryBase.) |
![]() |
NonConstOperation |
For derived classes implementers.
Defines the necessary implementation to free the instance from being const.
(Inherited from CommonObject.) |
![]() |
NormalAt(MeshPoint) | Evaluate a mesh normal at a set of barycentric coordinates. |
![]() |
NormalAt(Int32, Double, Double, Double, Double) | Evaluate a mesh normal at a set of barycentric coordinates. Barycentric coordinates must be assigned in accordance with the rules as defined by MeshPoint.T. |
![]() |
Offset(Double) | Makes a new mesh with vertices offset a distance in the opposite direction of the existing vertex normals. Same as Mesh.Offset(distance, false) |
![]() |
Offset(Double, Boolean) | Makes a new mesh with vertices offset a distance in the opposite direction of the existing vertex normals. Optionally, based on the value of solidify, adds the input mesh and a ribbon of faces along any naked edges. If solidify is false it acts exactly as the Offset(distance) function. |
![]() |
OnSwitchToNonConst | Performs some memory cleanup if necessary (Overrides GeometryBase.OnSwitchToNonConst().) |
![]() |
PointAt(MeshPoint) | Evaluate a mesh at a set of barycentric coordinates. |
![]() |
PointAt(Int32, Double, Double, Double, Double) | Evaluates a mesh at a set of barycentric coordinates. Barycentric coordinates must be assigned in accordance with the rules as defined by MeshPoint.T. |
![]() |
PullPointsToMesh | Pulls a collection of points to a mesh. |
![]() |
Reduce(ReduceMeshParameters) | Reduce polygon count |
![]() |
Reduce(Int32, Boolean, Int32, Boolean) | Reduce polygon count |
![]() |
Reduce(Int32, Boolean, Int32, Boolean, CancellationToken, IProgress(Double), String) | Reduce polygon count |
![]() |
ReleaseUnsafeLock | Updates the Mesh data with the information that was stored via the MeshUnsafeLock. |
![]() |
Rotate | Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule). (Inherited from GeometryBase.) |
![]() |
Scale | Scales the object by the specified factor. The scale is centered at the origin. (Inherited from GeometryBase.) |
![]() |
SetCachedTextureCoordinates | Set cached texture coordinates using the specified mapping. |
![]() |
SetTextureCoordinates | Set texture coordinates using given mapping and applying given transform. Set lazy to false to generate texture coordinates right away. |
![]() |
SetUserString | Attach a user string (key,value combination) to this geometry. (Inherited from GeometryBase.) |
![]() |
SolidOrientation | Determines orientation of a "solid" mesh. |
![]() |
Split(Mesh) | Split a mesh with another mesh. |
![]() |
Split(IEnumerable(Mesh)) | Split a mesh with a collection of meshes. |
![]() |
Split(Plane) | Split a mesh by an infinite plane. |
![]() |
SplitDisjointPieces | Splits up the mesh into its unconnected pieces. |
![]() |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() |
Transform | Transforms the geometry. If the input Transform has a SimilarityType of OrientationReversing, you may want to consider flipping the transformed geometry after calling this function when it makes sense. For example, you may want to call Flip() on a Brep after transforming it. (Inherited from GeometryBase.) |
![]() |
Translate(Vector3d) | Translates the object along the specified vector. (Inherited from GeometryBase.) |
![]() |
Translate(Double, Double, Double) | Translates the object along the specified vector. (Inherited from GeometryBase.) |
![]() |
UnifyNormals | Attempts to fix inconsistencies in the directions of meshfaces for a mesh. This function does not modify the vertex normals, but rather rearranges the mesh face winding and face normals to make them all consistent. You may want to call Mesh.Normals.ComputeNormals() to recompute vertex normals after calling this functions. |
![]() |
Unweld | Makes sure that faces sharing an edge and having a difference of normal greater than or equal to angleToleranceRadians have unique vertexes along that edge, adding vertices if necessary. |
![]() ![]() |
Volume | Removes any unreferenced objects from arrays, reindexes as needed and shrinks arrays to minimum required size. |
![]() |
Weld | Makes sure that faces sharing an edge and having a difference of normal greater than or equal to angleToleranceRadians share vertexes along that edge, vertex normals are averaged. |
![]() |
WithDisplacement | Constructs new mesh from the current one, with displacement applied to it. |
![]() |
WithEdgeSoftening | Constructs new mesh from the current one, with edge softening applied to it. |
![]() |
WithShutLining | Constructs new mesh from the current one, with shut lining applied to it. |
Supported in: 6.0.16224.21491, 5D58w