Table of Contents

Class DirectedEdgeStar

Namespace
NetTopologySuite.GeometriesGraph
Assembly
NetTopologySuite.dll

A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node. It supports labelling the edges as well as linking the edges to form both MaximalEdgeRings and MinimalEdgeRings.

public class DirectedEdgeStar : EdgeEndStar
Inheritance
DirectedEdgeStar
Inherited Members

Constructors

DirectedEdgeStar()

public DirectedEdgeStar()

Properties

Label

public Label Label { get; }

Property Value

Label

Methods

ComputeDepths(DirectedEdge)

public void ComputeDepths(DirectedEdge de)

Parameters

de DirectedEdge

ComputeLabelling(GeometryGraph[])

Compute the labelling for all dirEdges in this star, as well as the overall labelling.

public override void ComputeLabelling(GeometryGraph[] geom)

Parameters

geom GeometryGraph[]

FindCoveredLineEdges()

Traverse the star of edges, maintaining the current location in the result area at this node (if any). If any L edges are found in the interior of the result, mark them as covered.

public void FindCoveredLineEdges()

GetOutgoingDegree()

public int GetOutgoingDegree()

Returns

int

GetOutgoingDegree(EdgeRing)

public int GetOutgoingDegree(EdgeRing er)

Parameters

er EdgeRing

Returns

int

GetRightmostEdge()

public DirectedEdge GetRightmostEdge()

Returns

DirectedEdge

Insert(EdgeEnd)

Insert a directed edge in the list.

public override void Insert(EdgeEnd ee)

Parameters

ee EdgeEnd

LinkAllDirectedEdges()

public void LinkAllDirectedEdges()

LinkMinimalDirectedEdges(EdgeRing)

public void LinkMinimalDirectedEdges(EdgeRing er)

Parameters

er EdgeRing

LinkResultDirectedEdges()

Traverse the star of DirectedEdges, linking the included edges together. To link two dirEdges, the next pointer for an incoming dirEdge is set to the next outgoing edge. DirEdges are only linked if: they belong to an area (i.e. they have sides) they are marked as being in the result Edges are linked in CCW order (the order they are stored). This means that rings have their face on the Right (in other words, the topological location of the face is given by the RHS label of the DirectedEdge). PRECONDITION: No pair of dirEdges are both marked as being in the result.

public void LinkResultDirectedEdges()

MergeSymLabels()

For each dirEdge in the star, merge the label .

public void MergeSymLabels()

UpdateLabelling(Label)

Update incomplete dirEdge labels from the labeling for the node.

public void UpdateLabelling(Label nodeLabel)

Parameters

nodeLabel Label

The label to apply

Write(StreamWriter)

public override void Write(StreamWriter outstream)

Parameters

outstream StreamWriter