Search Results for

    Show / Hide Table of Contents

    Class EdgeEnd

    Models the end of an edge incident on a node.

    Inheritance
    object
    EdgeEnd
    DirectedEdge
    EdgeEndBundle
    Implements
    IComparable<EdgeEnd>
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: NetTopologySuite.GeometriesGraph
    Assembly: NetTopologySuite.dll
    Syntax
    public class EdgeEnd : IComparable<EdgeEnd>
    Remarks

    EdgeEnds have a direction determined by the direction of the ray from the initial point to the next point.

    EdgeEnds are IComparable under the ordering "a has a greater angle with the x-axis than b". This ordering is used to sort EdgeEnds around a node.

    Constructors

    | Edit this page View Source

    EdgeEnd(Edge)

    Declaration
    protected EdgeEnd(Edge edge)
    Parameters
    Type Name Description
    Edge edge
    | Edit this page View Source

    EdgeEnd(Edge, Coordinate, Coordinate)

    Declaration
    public EdgeEnd(Edge edge, Coordinate p0, Coordinate p1)
    Parameters
    Type Name Description
    Edge edge
    Coordinate p0
    Coordinate p1
    | Edit this page View Source

    EdgeEnd(Edge, Coordinate, Coordinate, Label)

    Declaration
    public EdgeEnd(Edge edge, Coordinate p0, Coordinate p1, Label label)
    Parameters
    Type Name Description
    Edge edge
    Coordinate p0
    Coordinate p1
    Label label

    Properties

    | Edit this page View Source

    Coordinate

    Declaration
    public Coordinate Coordinate { get; }
    Property Value
    Type Description
    Coordinate
    | Edit this page View Source

    DirectedCoordinate

    Declaration
    public Coordinate DirectedCoordinate { get; }
    Property Value
    Type Description
    Coordinate
    | Edit this page View Source

    Dx

    Declaration
    public double Dx { get; }
    Property Value
    Type Description
    double
    | Edit this page View Source

    Dy

    Declaration
    public double Dy { get; }
    Property Value
    Type Description
    double
    | Edit this page View Source

    Edge

    Declaration
    public Edge Edge { get; protected set; }
    Property Value
    Type Description
    Edge
    | Edit this page View Source

    Label

    Declaration
    public Label Label { get; protected set; }
    Property Value
    Type Description
    Label
    | Edit this page View Source

    Node

    Declaration
    public Node Node { get; set; }
    Property Value
    Type Description
    Node
    | Edit this page View Source

    Quadrant

    Declaration
    [Obsolete("Use QuadrantEx")]
    public int Quadrant { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    QuadrantEx

    Gets a value indicating the Quadrant this EdgeEnd lies in.

    Declaration
    public Quadrant QuadrantEx { get; }
    Property Value
    Type Description
    Quadrant

    Methods

    | Edit this page View Source

    CompareDirection(EdgeEnd)

    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 round off.

    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.
    Declaration
    public int CompareDirection(EdgeEnd e)
    Parameters
    Type Name Description
    EdgeEnd e

    An EdgeEnd

    Returns
    Type Description
    int

    The OrientationIndex of e compared to this EdgeEnd.

    | Edit this page View Source

    CompareTo(EdgeEnd)

    Declaration
    public int CompareTo(EdgeEnd e)
    Parameters
    Type Name Description
    EdgeEnd e
    Returns
    Type Description
    int
    | Edit this page View Source

    ComputeLabel(IBoundaryNodeRule)

    Subclasses should override this if they are using labels

    Declaration
    public virtual void ComputeLabel(IBoundaryNodeRule boundaryNodeRule)
    Parameters
    Type Name Description
    IBoundaryNodeRule boundaryNodeRule
    | Edit this page View Source

    Init(Coordinate, Coordinate)

    Declaration
    protected void Init(Coordinate p0, Coordinate p1)
    Parameters
    Type Name Description
    Coordinate p0
    Coordinate p1
    | Edit this page View Source

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    string
    Overrides
    object.ToString()
    | Edit this page View Source

    Write(StreamWriter)

    Declaration
    public virtual void Write(StreamWriter outstream)
    Parameters
    Type Name Description
    StreamWriter outstream

    Implements

    IComparable<T>
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX