Public Member Functions | |
| None | __init__ (self) |
| None | __init__ (self, EdgeLengthMesh arg0) |
| None | __init__ (self, MeshTopology topology, UndirectedEdgeScalars edgeLengths) |
| float | cotan (self, UndirectedEdgeId ue) |
| float | edgeLengthAfterFlip (self, EdgeId e) |
| bool | flipEdge (self, EdgeId e) |
| bool | isDelone (self, UndirectedEdgeId ue, float threshold=0) |
| float | leftCotan (self, EdgeId e) |
Static Public Member Functions | |
| None | __init__ (*args, **kwargs) |
| EdgeLengthMesh | fromMesh (Mesh mesh) |
| EdgeLengthMesh | operator (*args, **kwargs) |
| EdgeLengthMesh | operator (*args, **kwargs) |
Static Protected Attributes | |
| typing | _offsetof_edgeLengths = 152 |
| typing | _offsetof_topology = 0 |
Generated from: MR::EdgeLengthMesh 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.
|
static |
| None mrmeshpy.EdgeLengthMesh.__init__ | ( | self | ) |
| None mrmeshpy.EdgeLengthMesh.__init__ | ( | self, | |
| EdgeLengthMesh | arg0 ) |
Implicit copy constructor.
| None mrmeshpy.EdgeLengthMesh.__init__ | ( | self, | |
| MeshTopology | topology, | ||
| UndirectedEdgeScalars | edgeLengths ) |
Implicit aggregate constructor.
| float mrmeshpy.EdgeLengthMesh.cotan | ( | self, | |
| 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
| float mrmeshpy.EdgeLengthMesh.edgeLengthAfterFlip | ( | self, | |
| 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
| bool mrmeshpy.EdgeLengthMesh.flipEdge | ( | self, | |
| EdgeId | e ) |
given the edge with left and right triangular faces, which form together a quadrangle, rotates the edge counter-clockwise inside the quadrangle; the length of e becomes equal to the length of geodesic line between its new ends on original mesh; does not flip and returns false if the geodesic line does not go fully inside the quadrangle
|
static |
construct EdgeLengthMesh from an ordinary mesh
| bool mrmeshpy.EdgeLengthMesh.isDelone | ( | self, | |
| UndirectedEdgeId | ue, | ||
| float | threshold = 0 ) |
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
| float mrmeshpy.EdgeLengthMesh.leftCotan | ( | self, | |
| EdgeId | e ) |
computes cotangent of the angle in the left( e ) triangle opposite to e, and returns 0 if left face does not exist
|
static |
|
static |
|
staticprotected |
|
staticprotected |