com.vividsolutions.jts.geomgraph
Class Node

java.lang.Object
  extended bycom.vividsolutions.jts.geomgraph.GraphComponent
      extended bycom.vividsolutions.jts.geomgraph.Node
Direct Known Subclasses:
RelateNode

public class Node
extends GraphComponent

Version:
1.7

Field Summary
protected  Coordinate coord
           
protected  EdgeEndStar edges
           
 
Fields inherited from class com.vividsolutions.jts.geomgraph.GraphComponent
label
 
Constructor Summary
Node(Coordinate coord, EdgeEndStar edges)
           
 
Method Summary
 void add(EdgeEnd e)
          Add the edge to the list of edges at this node
protected  void computeIM(IntersectionMatrix im)
          Basic nodes do not compute IMs
 Coordinate getCoordinate()
           
 EdgeEndStar getEdges()
           
 boolean isIncidentEdgeInResult()
          Tests whether any incident edge is flagged as being in the result.
 boolean isIsolated()
          An isolated component is one that does not intersect or touch any other component.
 void mergeLabel(Label label2)
          To merge labels for two nodes, the merged location for each LabelElement is computed.
 void mergeLabel(Node n)
           
 void print(java.io.PrintStream out)
           
 void setLabel(int argIndex, int onLocation)
           
 void setLabelBoundary(int argIndex)
          Updates the label of a node to BOUNDARY, obeying the mod-2 boundaryDetermination rule.
 
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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

coord

protected Coordinate coord

edges

protected EdgeEndStar edges
Constructor Detail

Node

public Node(Coordinate coord,
            EdgeEndStar edges)
Method Detail

getCoordinate

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

getEdges

public EdgeEndStar getEdges()

isIncidentEdgeInResult

public boolean isIncidentEdgeInResult()
Tests whether any incident edge is flagged as being in the result. This test can be used to determine if the node is in the result, since if any incident edge is in the result, the node must be in the result as well.

Returns:
true if any indicident edge in the in the result

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

computeIM

protected void computeIM(IntersectionMatrix im)
Basic nodes do not compute IMs

Specified by:
computeIM in class GraphComponent

add

public void add(EdgeEnd e)
Add the edge to the list of edges at this node


mergeLabel

public void mergeLabel(Node n)

mergeLabel

public void mergeLabel(Label label2)
To merge labels for two nodes, the merged location for each LabelElement is computed. The location for the corresponding node LabelElement is set to the result, as long as the location is non-null.


setLabel

public void setLabel(int argIndex,
                     int onLocation)

setLabelBoundary

public void setLabelBoundary(int argIndex)
Updates the label of a node to BOUNDARY, obeying the mod-2 boundaryDetermination rule.


print

public void print(java.io.PrintStream out)