• Articles
  • Api Documentation
Show / Hide Table of Contents
  • Paramdigma.Core
    • Convert
    • Intersect3D
    • Intersect3D.LineLineIntersectionResult
    • Intersect3D.LineLineIntersectionStatus
    • Intersect3D.LinePlaneIntersectionStatus
    • Intersect3D.RayFacePerimeterIntersectionStatus
    • Settings
  • Paramdigma.Core.Collections
    • Interval
    • Matrix<T>
  • Paramdigma.Core.Curves
    • Geodesics
    • LevelSets
  • Paramdigma.Core.Exceptions
    • UnsetGeometryException
  • Paramdigma.Core.Extensions
    • Lists
  • Paramdigma.Core.Geometry
    • BaseCurve
    • BasePoint
    • Box
    • Circle
    • Cylinder
    • Delaunay
    • InvalidCurveException
    • Line
    • Line2d
    • Mesh
    • MeshCorner
    • MeshEdge
    • MeshFace
    • MeshGeometry
    • MeshHalfEdge
    • MeshPoint
    • MeshTopology
    • MeshVertex
    • NurbsCurve
    • NurbsSurface
    • Plane
    • Point2d
    • Point3d
    • Point4d
    • Polyline
    • Polyline2d
    • Ray
    • Ray2d
    • Rectangle2d
    • Sphere
    • Torus
    • Vector2d
    • Vector3d
    • VectorNd
  • Paramdigma.Core.Geometry.Interfaces
    • ICurve
    • ISurface
    • IVector
  • Paramdigma.Core.IO
    • CsvReader
    • CsvWritter
    • OBJMeshData
    • ObjReader
    • ObjWritter
    • OffMeshData
    • OffReader
    • OffResult
    • OffWriter
  • Paramdigma.Core.LinearAlgebra
    • Complex
    • LeastSquaresLinearFit
    • Triplet
    • TripletData
  • Paramdigma.Core.Optimization
    • GradientDescent
    • GradientDescent.FitnessFunction
    • GradientDescentOptions
    • GradientDescentResult
    • KMeansCluster
    • KMeansClustering
    • KMeansClustering.IterationCompletedEventArgs
  • Paramdigma.Core.Spatial
    • DelaunayEdge
    • DelaunayPoint
    • DelaunayTriangle
    • Octree
    • PointCloud
    • PointCloudMember
    • QuadTree

Class Mesh

Represents a Half-Edge Mesh data structure.

Inheritance
System.Object
Mesh
Namespace: Paramdigma.Core.Geometry
Assembly: Paramdigma.Core.dll
Syntax
public class Mesh : object

Constructors

| Improve this Doc View Source

Mesh(List<MeshVertex>, List<List<Int32>>)

Initializes a new instance of the Mesh class from verticees and faces.

Declaration
public Mesh(List<MeshVertex> vertices, List<List<int>> faceIndexes)
Parameters
Type Name Description
List<MeshVertex> vertices

list of mesh vertices.

List<List<System.Int32>> faceIndexes

Nested list with face vertices index.

| Improve this Doc View Source

Mesh(List<Point3d>, List<List<Int32>>)

Initializes a new instance of the Mesh class from verticees and faces.

Declaration
public Mesh(List<Point3d> vertices, List<List<int>> faceIndexes)
Parameters
Type Name Description
List<Point3d> vertices

list of mesh vertices.

List<List<System.Int32>> faceIndexes

Nested list with face vertices index.

| Improve this Doc View Source

Mesh(Mesh)

Initializes a new instance of the Mesh class from an existing one.

Declaration
public Mesh(Mesh halfEdgeMesh)
Parameters
Type Name Description
Mesh halfEdgeMesh

Existing Half-Edge Mesh.

Properties

| Improve this Doc View Source

Boundaries

Gets or sets the boundaries of the mesh.

Declaration
public List<MeshFace> Boundaries { get; set; }
Property Value
Type Description
List<MeshFace>
| Improve this Doc View Source

Corners

Gets or sets the corners of the mesh.

Declaration
public List<MeshCorner> Corners { get; set; }
Property Value
Type Description
List<MeshCorner>
| Improve this Doc View Source

Edges

Gets or sets the edges of the mesh.

Declaration
public List<MeshEdge> Edges { get; set; }
Property Value
Type Description
List<MeshEdge>
| Improve this Doc View Source

EulerCharacteristic

Gets the euler characteristic of the mesh.

Declaration
public int EulerCharacteristic { get; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

Faces

Gets or sets the faces of the mesh.

Declaration
public List<MeshFace> Faces { get; set; }
Property Value
Type Description
List<MeshFace>
| Improve this Doc View Source

HalfEdges

Gets or sets the half-edges of the mesh.

Declaration
public List<MeshHalfEdge> HalfEdges { get; set; }
Property Value
Type Description
List<MeshHalfEdge>
| Improve this Doc View Source

Vertices

Gets or sets the vertices of the mesh.

Declaration
public List<MeshVertex> Vertices { get; set; }
Property Value
Type Description
List<MeshVertex>

Methods

| Improve this Doc View Source

GetMeshInfo()

Get human readable description of this mesh.

Declaration
public string GetMeshInfo()
Returns
Type Description
System.String

Mesh description as text.

| Improve this Doc View Source

HasIsolatedFaces()

Check if the mesh contains isolated faces.

Declaration
public bool HasIsolatedFaces()
Returns
Type Description
System.Boolean

True if there are isolated faces, false if not.

| Improve this Doc View Source

HasIsolatedVertices()

Check if the mesh has isolated vertices.

Declaration
public bool HasIsolatedVertices()
Returns
Type Description
System.Boolean

True if there are isolated vertices, false if not.

| Improve this Doc View Source

HasNonManifoldEdges()

Check if the mesh contains non-manifold edges.

Declaration
public bool HasNonManifoldEdges()
Returns
Type Description
System.Boolean

True if there are non-manifold edges, false if not.

| Improve this Doc View Source

IndexCorners()

Assign an index to each corner of the mesh.

Declaration
public Dictionary<MeshCorner, int> IndexCorners()
Returns
Type Description
Dictionary<MeshCorner, System.Int32>

Dictionary containing Corner-Index assignments.

| Improve this Doc View Source

IndexEdges()

Assign an index to each edge of the mesh.

Declaration
public Dictionary<MeshEdge, int> IndexEdges()
Returns
Type Description
Dictionary<MeshEdge, System.Int32>

Dictionary containing Edge-Index assignments.

| Improve this Doc View Source

IndexElements()

Assign an index number to each mesh member.

Declaration
public void IndexElements()
| Improve this Doc View Source

IndexFaces()

Assign an index to each face of the mesh.

Declaration
public Dictionary<MeshFace, int> IndexFaces()
Returns
Type Description
Dictionary<MeshFace, System.Int32>

Dictionary containing Face-Index assignments.

| Improve this Doc View Source

IndexHalfEdes()

Assign an index to each Half-Edge of the mesh.

Declaration
public Dictionary<MeshHalfEdge, int> IndexHalfEdes()
Returns
Type Description
Dictionary<MeshHalfEdge, System.Int32>

Dictionary containing HalfEdge-Index assignments.

| Improve this Doc View Source

IndexVertices()

Assign an index to each vertex of the mesh.

Declaration
public Dictionary<MeshVertex, int> IndexVertices()
Returns
Type Description
Dictionary<MeshVertex, System.Int32>

Dictionary containing Vertex-Index assignments.

| Improve this Doc View Source

IsNgonMesh()

Check if a mesh is n-gonal.

Declaration
public bool IsNgonMesh()
Returns
Type Description
System.Boolean

Returns true if the mesh contains ANY ngons.

| Improve this Doc View Source

IsQuadMesh()

Check if a mesh is quad.

Declaration
public bool IsQuadMesh()
Returns
Type Description
System.Boolean

Returns true if all faces are quads.

| Improve this Doc View Source

IsTriangularMesh()

Check if a mesh is triangular.

Declaration
public bool IsTriangularMesh()
Returns
Type Description
System.Boolean

Returns true if all faces are triangular.

| Improve this Doc View Source

ToString()

Gets string representation of the mesh.

Declaration
public override string ToString()
Returns
Type Description
System.String

Mesh string.

  • Improve this Doc
  • View Source
Back to top Generated by DocFX