final class DelaunayStitcher extends Serializable
- Alphabetic
- By Inheritance
- DelaunayStitcher
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new DelaunayStitcher(pointSet: IndexedPointSet, halfEdgeTable: HalfEdgeTable)
Value Members
- def advance(e0: Int): Int
- def advanceIfNotCorner(e0: Int): Int
-
def
insertBase(left0: Int, isLeftLinear: Boolean, right0: Int, isRightLinear: Boolean, debug: Boolean): Int
Finds, inserts, and returns the unique half edge on the boundary of the convex hull of the two convex boundary loops given by left and right; the returned edge points from right to left.
Finds, inserts, and returns the unique half edge on the boundary of the convex hull of the two convex boundary loops given by left and right; the returned edge points from right to left. Left and right must be correctly initialized to be corners of their respective bounding loops (according to Predicates.isCorner), and isLeftLinear/isRightLinear must be set to true if the respective meshes have only boundary edges.
To be clear, this algorithm is impartial to absolute position despite the inputs being named left and right. It does, however, require that the bounding loops represented by left and right be convex and mutually non-intersecting.
- def joinToVertex(bound: Int, isLinear: Boolean, vertex: Int, triangles: TriangleMap, debug: Boolean = false): (Int, Boolean)
-
def
merge(left: Int, isLeftLinear: Boolean, right: Int, isRightLinear: Boolean, triangles: TriangleMap, debug: Boolean = false): (Int, Boolean)
Stiches two non-intersecting Delaunay triangulations, given as half edges on the outside boundary of each constituent triangulation.
- val predicates: TriangulationPredicates
- def reverse(e0: Int): Int
-
final
def
valid(e: Int, b: Int): Boolean
- Annotations
- @inline()