
JTS Topology Suite version 1.12  
PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object com.vividsolutions.jts.planargraph.GraphComponent com.vividsolutions.jts.planargraph.DirectedEdge
public class DirectedEdge
Represents a directed edge in a PlanarGraph
. A DirectedEdge may or
may not have a reference to a parent Edge
(some applications of
planar graphs may not require explicit Edge objects to be created). Usually
a client using a PlanarGraph
will subclass DirectedEdge
to add its own applicationspecific data and methods.
Field Summary  

protected double 
angle

protected boolean 
edgeDirection

protected Node 
from

protected Coordinate 
p0

protected Coordinate 
p1

protected Edge 
parentEdge

protected int 
quadrant

protected DirectedEdge 
sym

protected Node 
to

Fields inherited from class com.vividsolutions.jts.planargraph.GraphComponent 

isMarked, isVisited 
Constructor Summary  

DirectedEdge(Node from,
Node to,
Coordinate directionPt,
boolean edgeDirection)
Constructs a DirectedEdge connecting the from node to the
to node. 
Method Summary  

int 
compareDirection(DirectedEdge e)
Returns 1 if this DirectedEdge has a greater angle with the positive xaxis than b", 0 if the DirectedEdges are collinear, and 1 otherwise. 
int 
compareTo(java.lang.Object obj)
Returns 1 if this DirectedEdge has a greater angle with the positive xaxis than b", 0 if the DirectedEdges are collinear, and 1 otherwise. 
double 
getAngle()
Returns the angle that the start of this DirectedEdge makes with the positive xaxis, in radians. 
Coordinate 
getCoordinate()
Returns the coordinate of the fromnode. 
Coordinate 
getDirectionPt()
Returns a point to which an imaginary line is drawn from the fromnode to specify this DirectedEdge's orientation. 
Edge 
getEdge()
Returns this DirectedEdge's parent Edge, or null if it has none. 
boolean 
getEdgeDirection()
Returns whether the direction of the parent Edge (if any) is the same as that of this Directed Edge. 
Node 
getFromNode()
Returns the node from which this DirectedEdge leaves. 
int 
getQuadrant()
Returns 0, 1, 2, or 3, indicating the quadrant in which this DirectedEdge's orientation lies. 
DirectedEdge 
getSym()
Returns the symmetric DirectedEdge  the other DirectedEdge associated with this DirectedEdge's parent Edge. 
Node 
getToNode()
Returns the node to which this DirectedEdge goes. 
boolean 
isRemoved()
Tests whether this directed edge has been removed from its containing graph 
void 
print(java.io.PrintStream out)
Prints a detailed string representation of this DirectedEdge to the given PrintStream. 
void 
setEdge(Edge parentEdge)
Associates this DirectedEdge with an Edge (possibly null, indicating no associated Edge). 
void 
setSym(DirectedEdge sym)
Sets this DirectedEdge's symmetric DirectedEdge, which runs in the opposite direction. 
static java.util.List 
toEdges(java.util.Collection dirEdges)
Returns a List containing the parent Edge (possibly null) for each of the given DirectedEdges. 
Methods inherited from class com.vividsolutions.jts.planargraph.GraphComponent 

getComponentWithVisitedState, getContext, getData, isMarked, isVisited, setContext, setData, setMarked, setMarked, setVisited, setVisited 
Methods inherited from class java.lang.Object 

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Field Detail 

protected Edge parentEdge
protected Node from
protected Node to
protected Coordinate p0
protected Coordinate p1
protected DirectedEdge sym
protected boolean edgeDirection
protected int quadrant
protected double angle
Constructor Detail 

public DirectedEdge(Node from, Node to, Coordinate directionPt, boolean edgeDirection)
from
node to the
to
node.
directionPt
 specifies this DirectedEdge's direction vector
(determined by the vector from the from
node
to directionPt
)edgeDirection
 whether this DirectedEdge's direction is the same as or
opposite to that of the parent Edge (if any)Method Detail 

public static java.util.List toEdges(java.util.Collection dirEdges)
public Edge getEdge()
public void setEdge(Edge parentEdge)
public int getQuadrant()
public Coordinate getDirectionPt()
public boolean getEdgeDirection()
public Node getFromNode()
public Node getToNode()
public Coordinate getCoordinate()
public double getAngle()
public DirectedEdge getSym()
public void setSym(DirectedEdge sym)
public boolean isRemoved()
isRemoved
in class GraphComponent
true
if this directed edge is removedpublic int compareTo(java.lang.Object obj)
Using the obvious algorithm of simply computing the angle is not robust, since the angle calculation is susceptible to roundoff. A robust algorithm is:
CGAlgorithms.computeOrientation(Coordinate, Coordinate, Coordinate)
function can be used to decide the relative orientation of the vectors.
compareTo
in interface java.lang.Comparable
public int compareDirection(DirectedEdge e)
Using the obvious algorithm of simply computing the angle is not robust, since the angle calculation is susceptible to roundoff. A robust algorithm is:
CGAlgorithms.computeOrientation(Coordinate, Coordinate, Coordinate)
function can be used to decide the relative orientation of the vectors.
public void print(java.io.PrintStream out)

JTS Topology Suite version 1.12  
PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 