HalfEdgeMesh

References
public class HalfEdgeMesh
This is the main class that describes a half-edge mesh. Derived from Plankton, (c) 2013 Daniel Piker and Will Pearson, licensed LGPL v3 or later.

Constructors

HalfEdgeMesh

#
public HalfEdgeMesh()
Initializes a new (empty) instance of the HalfEdgeMesh class.

HalfEdgeMesh

#
public HalfEdgeMesh(HalfEdgeMesh source)
Initializes a new (duplicate) instance of the HalfEdgeMesh class.
source (HalfEdgeMesh)

Properties

Faces

#
public HalfEdgeFaceList Faces { get; }
Gets access to the HalfEdgeFaceList collection in this mesh.

Halfedges

#
public HalfEdgeList Halfedges { get; }
Gets access to the HalfEdgeList collection in this mesh.

Vertices

#
public HalfEdgeVertexList Vertices { get; }
Gets access to the HalfEdgeVertexList collection in this mesh.

Methods

Compact

#
public void Compact()
Removes any unreferenced objects from arrays, reindexes as needed and shrinks arrays to minimum required size.
InvalidOperationExceptionThrown if halfedge count is odd after compaction. Most likely caused by only marking one of the halfedges in a pair for deletion.

Dual

#
public HalfEdgeMesh Dual()

IsClosed

#
public bool IsClosed()

TruncateVertices

#
public HalfEdgeMesh TruncateVertices(double t = 0.3333333333333333)
Truncates the vertices of a mesh.
t (double = 0.3333333333333333)Optional parameter for the normalised distance along each edge to control the amount of truncation.
A new mesh, the result of the truncation.

Volume

#
public double Volume()
Calculate the volume of the mesh