|
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 application-specific 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 x-axis 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 x-axis 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 x-axis, in radians. |
Coordinate |
getCoordinate()
Returns the coordinate of the from-node. |
Coordinate |
getDirectionPt()
Returns a point to which an imaginary line is drawn from the from-node 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 |