com.vividsolutions.jts.geomgraph
Class DirectedEdge

java.lang.Object
  extended bycom.vividsolutions.jts.geomgraph.EdgeEnd
      extended bycom.vividsolutions.jts.geomgraph.DirectedEdge
All Implemented Interfaces:
java.lang.Comparable

public class DirectedEdge
extends EdgeEnd

Version:
1.7

Field Summary
protected  boolean isForward
           
 
Fields inherited from class com.vividsolutions.jts.geomgraph.EdgeEnd
edge, label
 
Constructor Summary
DirectedEdge(Edge edge, boolean isForward)
           
 
Method Summary
static int depthFactor(int currLocation, int nextLocation)
          Computes the factor for the change in depth when moving from one location to another.
 int getDepth(int position)
           
 int getDepthDelta()
           
 Edge getEdge()
           
 EdgeRing getEdgeRing()
           
 EdgeRing getMinEdgeRing()
           
 DirectedEdge getNext()
           
 DirectedEdge getNextMin()
           
 DirectedEdge getSym()
          Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.
 boolean isForward()
           
 boolean isInResult()
           
 boolean isInteriorAreaEdge()
          This is an interior Area edge if its label is an Area label for both Geometries and for each Geometry both sides are in the interior.
 boolean isLineEdge()
          This edge is a line edge if at least one of the labels is a line label any labels which are not line labels have all Locations = EXTERIOR
 boolean isVisited()
           
 void print(java.io.PrintStream out)
           
 void printEdge(java.io.PrintStream out)
           
 void setDepth(int position, int depthVal)
           
 void setEdgeDepths(int position, int depth)
          Set both edge depths.
 void setEdgeRing(EdgeRing edgeRing)
           
 void setInResult(boolean isInResult)
           
 void setMinEdgeRing(EdgeRing minEdgeRing)
           
 void setNext(DirectedEdge next)
           
 void setNextMin(DirectedEdge nextMin)
           
 void setSym(DirectedEdge de)
           
 void setVisited(boolean isVisited)
           
 void setVisitedEdge(boolean isVisited)
          setVisitedEdge marks both DirectedEdges attached to a given Edge.
 
Methods inherited from class com.vividsolutions.jts.geomgraph.EdgeEnd
compareDirection, compareTo, computeLabel, getCoordinate, getDirectedCoordinate, getDx, getDy, getLabel, getNode, getQuadrant, init, setNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

isForward

protected boolean isForward
Constructor Detail

DirectedEdge

public DirectedEdge(Edge edge,
                    boolean isForward)
Method Detail

depthFactor

public static int depthFactor(int currLocation,
                              int nextLocation)
Computes the factor for the change in depth when moving from one location to another. E.g. if crossing from the INTERIOR to the EXTERIOR the depth decreases, so the factor is -1


getEdge

public Edge getEdge()
Overrides:
getEdge in class EdgeEnd

setInResult

public void setInResult(boolean isInResult)

isInResult

public boolean isInResult()

isVisited

public boolean isVisited()

setVisited

public void setVisited(boolean isVisited)

setEdgeRing

public void setEdgeRing(EdgeRing edgeRing)

getEdgeRing

public EdgeRing getEdgeRing()

setMinEdgeRing

public void setMinEdgeRing(EdgeRing minEdgeRing)

getMinEdgeRing

public EdgeRing getMinEdgeRing()

getDepth

public int getDepth(int position)

setDepth

public void setDepth(int position,
                     int depthVal)

getDepthDelta

public int getDepthDelta()

setVisitedEdge

public void setVisitedEdge(boolean isVisited)
setVisitedEdge marks both DirectedEdges attached to a given Edge. This is used for edges corresponding to lines, which will only appear oriented in a single direction in the result.


getSym

public DirectedEdge getSym()
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.

Returns:
the DirectedEdge for the same Edge but in the opposite direction

isForward

public boolean isForward()

setSym

public void setSym(DirectedEdge de)

getNext

public DirectedEdge getNext()

setNext

public void setNext(DirectedEdge next)

getNextMin

public DirectedEdge getNextMin()

setNextMin

public void setNextMin(DirectedEdge nextMin)

isLineEdge

public boolean isLineEdge()
This edge is a line edge if


isInteriorAreaEdge

public boolean isInteriorAreaEdge()
This is an interior Area edge if

Returns:
true if this is an interior Area edge

setEdgeDepths

public void setEdgeDepths(int position,
                          int depth)
Set both edge depths. One depth for a given side is provided. The other is computed depending on the Location transition and the depthDelta of the edge.


print

public void print(java.io.PrintStream out)
Overrides:
print in class EdgeEnd

printEdge

public void printEdge(java.io.PrintStream out)