Packages

class HalfEdge extends AnyRef

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HalfEdge
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new HalfEdge(origI: Coordinate)

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 compareAngularDirection(e: HalfEdge): Int

    Implements the total order relation:

    Implements the total order relation:

    The angle of edge a is greater than the angle of edge b, where the angle of an edge is the angle made by the first segment of the edge with the positive x-axis

    When applied to a list of edges originating at the same point, this produces a CCW ordering of the edges around the point.

    Using the obvious algorithm of computing the angle is not robust, since the angle calculation is susceptible to roundoff error. A robust algorithm is:

    • First, compare the quadrants the edge vectors lie in. If the quadrants are different, it is trivial to determine which edge has a greater angle.
    • if the vectors lie in the same quadrant, the {link Orientation#index(Coordinate, Coordinate, Coordinate)} function can be used to determine the relative orientation of the vectors.
  7. def compareTo(obj: Any): Int

    Compares edges which originate at the same vertex based on the angle they make at their origin vertex with the positive X-axis.

    Compares edges which originate at the same vertex based on the angle they make at their origin vertex with the positive X-axis. This allows sorting edges around their origin vertex in CCW order.

  8. def degree: Int

    Computes the degree of the origin vertex.

    Computes the degree of the origin vertex. The degree is the number of edges originating from the vertex.

    return the degree of the origin vertex

  9. def dest: Coordinate

    Gets the destination coordinate of this edge.

    Gets the destination coordinate of this edge.

    return the destination coordinate

  10. def directionPt: Coordinate

    Gets the direction point of this edge.

    Gets the direction point of this edge. In the base case this is the dest coordinate of the edge. Subclasses may override to allow a HalfEdge to represent an edge with more than two coordinates.

    return the direction point for the edge

    Attributes
    protected
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(p0: Coordinate, p1: Coordinate): Boolean

    Tests whether this edge has the given orig and dest vertices.

    Tests whether this edge has the given orig and dest vertices.

    p0

    the origin vertex to test

    p1

    the destination vertex to test return true if the vertices are equal to the ones of this edge

  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. def find(dest: Coordinate): HalfEdge

    Finds the edge starting at the origin of this edge with the given dest vertex, if any.

    Finds the edge starting at the origin of this edge with the given dest vertex, if any.

    dest

    the dest vertex to search for return the edge with the required dest vertex, if it exists, or null

  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def insert(eAdd: HalfEdge): Unit

    Inserts an edge into the ring of edges around the origin vertex of this edge, ensuring that the edges remain ordered CCW.

    Inserts an edge into the ring of edges around the origin vertex of this edge, ensuring that the edges remain ordered CCW. The inserted edge must have the same origin as this edge.

    eAdd

    the edge to insert

  19. def isEdgesSorted: Boolean

    Tests whether the edges around the origin are sorted correctly.

    Tests whether the edges around the origin are sorted correctly. Note that edges must be strictly increasing, which implies no two edges can have the same direction point.

    return true if the origin edges are sorted correctly

  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def link(sym: HalfEdge): Unit

    Links this edge with its sym (opposite) edge.

    Links this edge with its sym (opposite) edge. This must be done for each pair of edges created.

  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def next: HalfEdge

    Gets the next edge CCW around the destination vertex of this edge, with the dest vertex as its origin.

    Gets the next edge CCW around the destination vertex of this edge, with the dest vertex as its origin. If the vertex has degree 1 then this is the sym edge.

    return the next edge

  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. def oNext: HalfEdge

    Gets the next edge CCW around the origin of this edge, with the same origin.

    Gets the next edge CCW around the origin of this edge, with the same origin.

    return the next edge around the origin

  27. def orig: Coordinate

    Gets the origin coordinate of this edge.

    Gets the origin coordinate of this edge.

    return the origin coordinate

  28. var origI: Coordinate
  29. def prev: HalfEdge

    Gets the edge previous to this one (with dest being the same as this orig).

    Gets the edge previous to this one (with dest being the same as this orig).

    return the previous edge to this one

  30. def prevNode: HalfEdge

    Finds the first node previous to this edge, if any.

    Finds the first node previous to this edge, if any. If no such node exists (i.e. the edge is part of a ring) then null is returned.

    return an edge originating at the node prior to this edge, if any, or null if no node exists

  31. def setNext(e: HalfEdge): Unit

    Sets the next edge CCW around the destination vertex of this edge.

    Sets the next edge CCW around the destination vertex of this edge.

    e

    the next edge

  32. def sym: HalfEdge

    Gets the symmetric pair edge of this edge.

    Gets the symmetric pair edge of this edge.

    return the symmetric pair edge

  33. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  34. def toString(): String

    Computes a string representation of a HalfEdge.

    Computes a string representation of a HalfEdge.

    return a string representation

    Definition Classes
    HalfEdge → AnyRef → Any
  35. def toStringNode: String
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped