com.vividsolutions.jts.geomgraph
Class Edge

java.lang.Object
  extended bycom.vividsolutions.jts.geomgraph.GraphComponent
      extended bycom.vividsolutions.jts.geomgraph.Edge

public class Edge
extends GraphComponent

Version:
1.7

Field Summary
 
Fields inherited from class com.vividsolutions.jts.geomgraph.GraphComponent
label
 
Constructor Summary
Edge(Coordinate[] pts)
           
Edge(Coordinate[] pts, Label label)
           
 
Method Summary
 void addIntersection(LineIntersector li, int segmentIndex, int geomIndex, int intIndex)
          Add an EdgeIntersection for intersection intIndex.
 void addIntersections(LineIntersector li, int segmentIndex, int geomIndex)
          Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list.
 void computeIM(IntersectionMatrix im)
          Update the IM with the contribution for this component.
 boolean equals(java.lang.Object o)
          equals is defined to be:
 Edge getCollapsedEdge()
           
 Coordinate getCoordinate()
           
 Coordinate getCoordinate(int i)
           
 Coordinate[] getCoordinates()
           
 Depth getDepth()
           
 int getDepthDelta()
          The depthDelta is the change in depth as an edge is crossed from R to L
 EdgeIntersectionList getEdgeIntersectionList()
           
 Envelope getEnvelope()
           
 int getMaximumSegmentIndex()
           
 MonotoneChainEdge getMonotoneChainEdge()
           
 int getNumPoints()
           
 boolean isClosed()
           
 boolean isCollapsed()
          An Edge is collapsed if it is an Area edge and it consists of two segments which are equal and opposite (eg a zero-width V).
 boolean isIsolated()
          An isolated component is one that does not intersect or touch any other component.
 boolean isPointwiseEqual(Edge e)
           
 void print(java.io.PrintStream out)
           
 void printReverse(java.io.PrintStream out)
           
 void setDepthDelta(int depthDelta)
           
 void setIsolated(boolean isIsolated)
           
 void setName(java.lang.String name)
           
static void updateIM(Label label, IntersectionMatrix im)
          Updates an IM from the label for an edge.
 
Methods inherited from class com.vividsolutions.jts.geomgraph.GraphComponent
getLabel, isCovered, isCoveredSet, isInResult, isVisited, setCovered, setInResult, setLabel, setVisited, updateIM
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Edge

public Edge(Coordinate[] pts,
            Label label)

Edge

public Edge(Coordinate[] pts)
Method Detail

updateIM

public static void updateIM(Label label,
                            IntersectionMatrix im)
Updates an IM from the label for an edge. Handles edges from both L and A geometries.


getNumPoints

public int getNumPoints()

setName

public void setName(java.lang.String name)

getCoordinates

public Coordinate[] getCoordinates()

getCoordinate

public Coordinate getCoordinate(int i)

getCoordinate

public Coordinate getCoordinate()
Specified by:
getCoordinate in class GraphComponent
Returns:
a coordinate in this component (or null, if there are none)

getEnvelope

public Envelope getEnvelope()

getDepth

public Depth getDepth()

getDepthDelta

public int getDepthDelta()
The depthDelta is the change in depth as an edge is crossed from R to L

Returns:
the change in depth as the edge is crossed from R to L

setDepthDelta

public void setDepthDelta(int depthDelta)

getMaximumSegmentIndex

public int getMaximumSegmentIndex()

getEdgeIntersectionList

public EdgeIntersectionList getEdgeIntersectionList()

getMonotoneChainEdge

public MonotoneChainEdge getMonotoneChainEdge()

isClosed

public boolean isClosed()

isCollapsed

public boolean isCollapsed()
An Edge is collapsed if it is an Area edge and it consists of two segments which are equal and opposite (eg a zero-width V).


getCollapsedEdge

public Edge getCollapsedEdge()

setIsolated

public void setIsolated(boolean isIsolated)

isIsolated

public boolean isIsolated()
Description copied from class: GraphComponent
An isolated component is one that does not intersect or touch any other component. This is the case if the label has valid locations for only a single Geometry.

Specified by:
isIsolated in class GraphComponent
Returns:
true if this component is isolated

addIntersections

public void addIntersections(LineIntersector li,
                             int segmentIndex,
                             int geomIndex)
Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list.


addIntersection

public void addIntersection(LineIntersector li,
                            int segmentIndex,
                            int geomIndex,
                            int intIndex)
Add an EdgeIntersection for intersection intIndex. An intersection that falls exactly on a vertex of the edge is normalized to use the higher of the two possible segmentIndexes


computeIM

public void computeIM(IntersectionMatrix im)
Update the IM with the contribution for this component. A component only contributes if it has a labelling for both parent geometries

Specified by:
computeIM in class GraphComponent

equals

public boolean equals(java.lang.Object o)
equals is defined to be:

e1 equals e2 iff the coordinates of e1 are the same or the reverse of the coordinates in e2


isPointwiseEqual

public boolean isPointwiseEqual(Edge e)
Returns:
true if the coordinate sequences of the Edges are identical

print

public void print(java.io.PrintStream out)

printReverse

public void printReverse(java.io.PrintStream out)