MeshLib C# Docs
Loading...
Searching...
No Matches

Unlike the classic mesh that stores coordinates of its vertices, this class stores the lengths of all edges. It can be used for construction of intrinsic Intrinsic Delaunay Triangulations. Generated from class MR.EdgeLengthMesh. This is the const half of the class. More...

Inheritance diagram for MR.Const_EdgeLengthMesh:

Classes

struct  _Underlying

Public Member Functions

virtual void Dispose ()
unsafe Const_EdgeLengthMesh ()
 Constructs an empty (default-constructed) instance.
unsafe Const_EdgeLengthMesh (MR._ByValue_MeshTopology topology, MR._ByValue_UndirectedEdgeScalars edgeLengths)
 Constructs MR.EdgeLengthMesh elementwise.
unsafe Const_EdgeLengthMesh (MR._ByValue_EdgeLengthMesh _other)
 Generated from constructor MR.EdgeLengthMesh.EdgeLengthMesh.
 Const_EdgeLengthMesh (Const_EdgeLengthMesh _other)
 Generated from constructor MR.EdgeLengthMesh.EdgeLengthMesh.
 Const_EdgeLengthMesh (EdgeLengthMesh _other)
 Generated from constructor MR.EdgeLengthMesh.EdgeLengthMesh.
unsafe float leftCotan (MR.EdgeId e)
 computes cotangent of the angle in the left( e ) triangle opposite to e, and returns 0 if left face does not exist Generated from method MR.EdgeLengthMesh.leftCotan.
unsafe float cotan (MR.UndirectedEdgeId ue)
 computes sum of cotangents of the angle in the left and right triangles opposite to given edge, consider cotangents zero for not existing triangles Generated from method MR.EdgeLengthMesh.cotan.
unsafe bool isDelone (MR.UndirectedEdgeId ue, float? threshold=null)
 returns true if given edge satisfies Delaunay conditions, returns false if the edge needs to be flipped to satisfy Delaunay conditions, passing negative threshold makes more edges satisfy Delaunay conditions Generated from method MR.EdgeLengthMesh.isDelone. Parameter threshold defaults to 0.
unsafe MR.Std.Optional_Float edgeLengthAfterFlip (MR.EdgeId e)
 given the edge with left and right triangular faces, which form together a quadrangle, returns the length of geodesic line on original mesh between the vertices of the quadrangle opposite to given edge; returns std::nullopt if the geodesic line does not go fully inside the quadrangle Generated from method MR.EdgeLengthMesh.edgeLengthAfterFlip.

Static Public Member Functions

static unsafe MR.EdgeLengthMesh fromMesh (MR.Const_Mesh mesh)
 construct EdgeLengthMesh from an ordinary mesh Generated from method MR.EdgeLengthMesh.fromMesh.

Protected Member Functions

virtual unsafe void Dispose (bool disposing)

Properties

unsafe MR.Const_MeshTopology topology [get, protected set]
unsafe MR.Const_UndirectedEdgeScalars edgeLengths [get, protected set]

Detailed Description

Unlike the classic mesh that stores coordinates of its vertices, this class stores the lengths of all edges. It can be used for construction of intrinsic Intrinsic Delaunay Triangulations. Generated from class MR.EdgeLengthMesh. This is the const half of the class.

Constructor & Destructor Documentation

◆ Const_EdgeLengthMesh() [1/5]

unsafe MR.Const_EdgeLengthMesh.Const_EdgeLengthMesh ( )
inline

Constructs an empty (default-constructed) instance.

◆ Const_EdgeLengthMesh() [2/5]

unsafe MR.Const_EdgeLengthMesh.Const_EdgeLengthMesh ( MR._ByValue_MeshTopology topology,
MR._ByValue_UndirectedEdgeScalars edgeLengths )
inline

Constructs MR.EdgeLengthMesh elementwise.

◆ Const_EdgeLengthMesh() [3/5]

unsafe MR.Const_EdgeLengthMesh.Const_EdgeLengthMesh ( MR._ByValue_EdgeLengthMesh _other)
inline

Generated from constructor MR.EdgeLengthMesh.EdgeLengthMesh.

◆ Const_EdgeLengthMesh() [4/5]

MR.Const_EdgeLengthMesh.Const_EdgeLengthMesh ( Const_EdgeLengthMesh _other)
inline

Generated from constructor MR.EdgeLengthMesh.EdgeLengthMesh.

◆ Const_EdgeLengthMesh() [5/5]

MR.Const_EdgeLengthMesh.Const_EdgeLengthMesh ( EdgeLengthMesh _other)
inline

Generated from constructor MR.EdgeLengthMesh.EdgeLengthMesh.

Member Function Documentation

◆ cotan()

unsafe float MR.Const_EdgeLengthMesh.cotan ( MR.UndirectedEdgeId ue)
inline

computes sum of cotangents of the angle in the left and right triangles opposite to given edge, consider cotangents zero for not existing triangles Generated from method MR.EdgeLengthMesh.cotan.

◆ Dispose() [1/2]

virtual void MR.Const_EdgeLengthMesh.Dispose ( )
inlinevirtual

◆ Dispose() [2/2]

virtual unsafe void MR.Const_EdgeLengthMesh.Dispose ( bool disposing)
inlineprotectedvirtual

◆ edgeLengthAfterFlip()

unsafe MR.Std.Optional_Float MR.Const_EdgeLengthMesh.edgeLengthAfterFlip ( MR.EdgeId e)
inline

given the edge with left and right triangular faces, which form together a quadrangle, returns the length of geodesic line on original mesh between the vertices of the quadrangle opposite to given edge; returns std::nullopt if the geodesic line does not go fully inside the quadrangle Generated from method MR.EdgeLengthMesh.edgeLengthAfterFlip.

◆ fromMesh()

unsafe MR.EdgeLengthMesh MR.Const_EdgeLengthMesh.fromMesh ( MR.Const_Mesh mesh)
inlinestatic

construct EdgeLengthMesh from an ordinary mesh Generated from method MR.EdgeLengthMesh.fromMesh.

◆ isDelone()

unsafe bool MR.Const_EdgeLengthMesh.isDelone ( MR.UndirectedEdgeId ue,
float? threshold = null )
inline

returns true if given edge satisfies Delaunay conditions, returns false if the edge needs to be flipped to satisfy Delaunay conditions, passing negative threshold makes more edges satisfy Delaunay conditions Generated from method MR.EdgeLengthMesh.isDelone. Parameter threshold defaults to 0.

◆ leftCotan()

unsafe float MR.Const_EdgeLengthMesh.leftCotan ( MR.EdgeId e)
inline

computes cotangent of the angle in the left( e ) triangle opposite to e, and returns 0 if left face does not exist Generated from method MR.EdgeLengthMesh.leftCotan.

Property Documentation

◆ edgeLengths

unsafe MR.Const_UndirectedEdgeScalars MR.Const_EdgeLengthMesh.edgeLengths
getprotected set

◆ topology

unsafe MR.Const_MeshTopology MR.Const_EdgeLengthMesh.topology
getprotected set

The documentation for this class was generated from the following file: