public class QuadEdge extends Object
Each edge object is part of a quartet of 4 edges, linked via their rot references. Any edge in the group may be accessed using a series of rot() operations. Quadedges in a subdivision are linked together via their next references. The linkage between the quadedge quartets determines the topology of the subdivision.
The edge class does not contain separate information for vertice or faces; a vertex is implicitly defined as a ring of edges (created using the next field).
| Modifier and Type | Method and Description |
|---|---|
static QuadEdge |
connect(QuadEdge
Creates a new QuadEdge connecting the destination of a to the origin of b, in such a way that all three have the same left face after the connection is complete.
|
void |
delete()
Marks this quadedge as being deleted.
|
Vertex |
dest()
Gets the vertex for the edge's destination
|
QuadEdge |
dNext()
Gets the next CCW edge around (into) the destination of this edge.
|
QuadEdge |
dPrev()
Gets the next CW edge around (into) the destination of this edge.
|
boolean |
equalsNonOriented(QuadEdge
Tests if this quadedge and another have the same line segment geometry, regardless of orientation.
|
boolean |
equalsOriented(QuadEdge
Tests if this quadedge and another have the same line segment geometry with the same orientation.
|
Object |
getData()
Gets the external data value for this edge.
|
double |
getLength()
Gets the length of the geometry of this quadedge.
|
QuadEdge |
getPrimary()
Gets the primary edge of this quadedge and its
sym.
|
QuadEdge |
invRot()
Gets the dual of this edge, directed from its left to its right.
|
boolean |
isLive()
Tests whether this edge has been deleted.
|
QuadEdge |
lNext()
Gets the CCW edge around the left face following this edge.
|
QuadEdge |
lPrev()
Gets the CCW edge around the left face before this edge.
|
static QuadEdge |
makeEdge(Vertex
|
QuadEdge |
oNext()
Gets the next CCW edge around the origin of this edge.
|
QuadEdge |
oPrev()
Gets the next CW edge around (from) the origin of this edge.
|
Vertex |
orig()
Gets the vertex for the edge's origin
|
QuadEdge |
rNext()
Gets the edge around the right face ccw following this edge.
|
QuadEdge |
rot()
Gets the dual of this edge, directed from its right to its left.
|
QuadEdge |
rPrev()
Gets the edge around the right face ccw before this edge.
|
void |
setData(Object
Sets the external data value for this edge.
|
void |
setNext(QuadEdge
Sets the connected edge
|
static void |
splice(QuadEdge
Splices two edges together or apart.
|
static void |
swap(QuadEdge
Turns an edge counterclockwise inside its enclosing quadrilateral.
|
QuadEdge |
sym()
Gets the edge from the destination to the origin of this edge.
|
LineSegment |
toLineSegment()
Creates a
LineSegment representing the geometry of this edge.
|
String |
toString()
Converts this edge to a WKT two-point
LINESTRING indicating the geometry of this edge.
|
public static QuadEdgemakeEdge(Vertex o, Vertex d)
o - the origin Vertex
d - the destination Vertex
public static QuadEdgeconnect(QuadEdge a, QuadEdge b)
public static void splice(QuadEdgea, QuadEdge b)
a - an edge to splice
b - an edge to splice
public static void swap(QuadEdgee)
e - the quadedge to turn
public QuadEdgegetPrimary()
Coordinate ordering
public void setData(Objectdata)
data - an object containing external data
public ObjectgetData()
public void delete()
public boolean isLive()
public void setNext(QuadEdgenext)
next - edge
public final QuadEdgerot()
public final QuadEdgeinvRot()
public final QuadEdgesym()
public final QuadEdgeoNext()
public final QuadEdgeoPrev()
public final QuadEdgedNext()
public final QuadEdgedPrev()
public final QuadEdgelNext()
public final QuadEdgelPrev()
public final QuadEdgerNext()
public final QuadEdgerPrev()
public final Vertexorig()
public final Vertexdest()
public double getLength()
public boolean equalsNonOriented(QuadEdgeqe)
qe - a quadege
public boolean equalsOriented(QuadEdgeqe)
qe - a quadege
public LineSegmenttoLineSegment()
LineSegment representing the geometry of this edge.