Maven module :un.api : api-geometry :
Class : un.impl.geometry.triangulate.QuadEdge
Extends/Implements : -
Subclasses : -

Quad-Edge data structure
author  Structure by Guibas and Stolfi
author  X.Philippeau
author  Johann sorel (adapted to Unlicense project)
see  Primitives for the Manipulation of General Subdivisions and the
Computation of Voronoi Diagrams (Leonidas Guibas,Jorge Stolfi)


Variables : mark
Functions : onext, rot, orig, setOnext, setRot, setOrig, sym, dest, rotSym, oprev, dprev, lnext, lprev, makeEdge, splice, connect, swapEdge, deleteEdge




public boolean mark




public QuadEdge onext ()

public QuadEdge rot ()

public Point orig ()

public void setOnext (QuadEdge next)

public void setRot (QuadEdge rot)

public void setOrig (Point p)


return  the symetric (reverse) QuadEdge
public QuadEdge sym ()


return  the other extremity point
public Point dest ()


return  the symetric dual QuadEdge
public QuadEdge rotSym ()


return  the previous QuadEdge (pointing to this.orig)
public QuadEdge oprev ()


return  the previous QuadEdge starting from dest()
public QuadEdge dprev ()


return  the next QuadEdge on left Face
public QuadEdge lnext ()


return  the previous QuadEdge on left Face
public QuadEdge lprev ()


Create a new edge (i.e. a segment)
param  orig origin of the segment
param  dest end of the segment
return  the QuadEdge of the origin point
public QuadEdge makeEdge (Point orig, Point dest)


attach/detach the two edges = combine/split the two rings in the dual space
param  q1,q2 the 2 QuadEdge to attach/detach
public void splice (QuadEdge a, QuadEdge b)


Create a new QuadEdge by connecting 2 QuadEdges
param  e1,e2 the 2 QuadEdges to connect
return  the new QuadEdge
public QuadEdge connect (QuadEdge e1, QuadEdge e2)

public void swapEdge (QuadEdge e)


Delete a QuadEdge
param  q the QuadEdge to delete
public void deleteEdge (QuadEdge q)