Class EdgeEnd

java.lang.Object
org.locationtech.jts.geomgraph.EdgeEnd
All Implemented Interfaces:
Comparable
Direct Known Subclasses:
DirectedEdge, EdgeEndBundle

public class EdgeEnd extends Object implements Comparable
Models the end of an edge incident on a node. EdgeEnds have a direction determined by the direction of the ray from the initial point to the next point. EdgeEnds are comparable under the ordering "a has a greater angle with the x-axis than b". This ordering is used to sort EdgeEnds around a node.
Version:
1.7
  • Constructor Details

  • Method Details

    • getEdge

      public Edge getEdge()
    • getLabel

      public Label getLabel()
    • getCoordinate

      public Coordinate getCoordinate()
    • getDirectedCoordinate

      public Coordinate getDirectedCoordinate()
    • getQuadrant

      public int getQuadrant()
    • getDx

      public double getDx()
    • getDy

      public double getDy()
    • setNode

      public void setNode(Node node)
    • getNode

      public Node getNode()
    • compareTo

      public int compareTo(Object obj)
      Specified by:
      compareTo in interface Comparable
    • compareDirection

      public int compareDirection(EdgeEnd e)
      Implements the total order relation:

      a has a greater angle with the positive x-axis than b

      Using the obvious algorithm of simply computing the angle is not robust, since the angle calculation is obviously susceptible to roundoff. A robust algorithm is: - first compare the quadrant. If the quadrants are different, it it trivial to determine which vector is "greater". - if the vectors lie in the same quadrant, the computeOrientation function can be used to decide the relative orientation of the vectors.

      Parameters:
      e - EdgeEnd
      Returns:
      direction comparison
    • computeLabel

      public void computeLabel(BoundaryNodeRule boundaryNodeRule)
    • print

      public void print(PrintStream out)
    • toString

      public String toString()
      Overrides:
      toString in class Object