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
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
GetOutgoingDegree(EdgeRing)
public int GetOutgoingDegree(EdgeRing er)
Parameters
er
EdgeRing
Returns
GetRightmostEdge()
public DirectedEdge GetRightmostEdge()
Returns
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
LabelThe label to apply
Write(StreamWriter)
public override void Write(StreamWriter outstream)
Parameters
outstream
StreamWriter