class EdgeEnd extends Comparable[EdgeEnd]

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

Linear Supertypes
Comparable[EdgeEnd], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EdgeEnd
  2. Comparable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new EdgeEnd(edge: Edge, p0: Coordinate, p1: Coordinate)
  2. new EdgeEnd(edge: Edge, p0: Coordinate, p1: Coordinate, label: Label)
  3. new EdgeEnd(edge: Edge)
    Attributes
    protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. def compareDirection(e: EdgeEnd): Int

    Implements the total order relation:

    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.

  7. def compareTo(e: EdgeEnd): Int
    Definition Classes
    EdgeEnd → Comparable
  8. def computeLabel(boundaryNodeRule: BoundaryNodeRule): Unit
  9. var edge: Edge
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def getCoordinate: Coordinate
  15. def getDirectedCoordinate: Coordinate
  16. def getDx: Double
  17. def getDy: Double
  18. def getEdge: Edge
  19. def getLabel: Label
  20. def getNode: Node
  21. def getQuadrant: Int
  22. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  23. def init(p0: Coordinate, p1: Coordinate): Unit
    Attributes
    protected
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. var label: Label
    Attributes
    protected
  26. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  29. def print(out: PrintStream): Unit
  30. def setNode(node: Node): Unit
  31. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  32. def toString(): String
    Definition Classes
    EdgeEnd → AnyRef → Any
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Comparable[EdgeEnd]

Inherited from AnyRef

Inherited from Any

Ungrouped