Table of Contents

Class EdgeEndStar

Namespace
NetTopologySuite.GeometriesGraph
Assembly
NetTopologySuite.dll

A EdgeEndStar is an ordered list of EdgeEnds around a node. They are maintained in CCW order (starting with the positive x-axis) around the node for efficient lookup and topology building.

public abstract class EdgeEndStar
Inheritance
EdgeEndStar
Derived
Inherited Members

Constructors

EdgeEndStar()

protected EdgeEndStar()

Fields

edgeList

A list of all outgoing edges in the result, in CCW order.

protected IList<EdgeEnd> edgeList

Field Value

IList<EdgeEnd>

edgeMap

A map which maintains the edges in sorted order around the node.

protected IDictionary<EdgeEnd, EdgeEnd> edgeMap

Field Value

IDictionary<EdgeEnd, EdgeEnd>

Properties

Coordinate

public Coordinate Coordinate { get; }

Property Value

Coordinate

The coordinate for the node this star is based at.

Degree

public int Degree { get; }

Property Value

int

Edges

public IList<EdgeEnd> Edges { get; }

Property Value

IList<EdgeEnd>

Methods

ComputeLabelling(GeometryGraph[])

public virtual void ComputeLabelling(GeometryGraph[] geomGraph)

Parameters

geomGraph GeometryGraph[]

FindIndex(EdgeEnd)

public int FindIndex(EdgeEnd eSearch)

Parameters

eSearch EdgeEnd

Returns

int

GetEnumerator()

Iterator access to the ordered list of edges is optimized by copying the map collection to a list. (This assumes that once an iterator is requested, it is likely that insertion into the map is complete).

public IEnumerator<EdgeEnd> GetEnumerator()

Returns

IEnumerator<EdgeEnd>

Access to ordered list of edges.

GetNextCW(EdgeEnd)

public EdgeEnd GetNextCW(EdgeEnd ee)

Parameters

ee EdgeEnd

Returns

EdgeEnd

Insert(EdgeEnd)

Insert a EdgeEnd into this EdgeEndStar.

public abstract void Insert(EdgeEnd e)

Parameters

e EdgeEnd

An EdgeEnd

InsertEdgeEnd(EdgeEnd, EdgeEnd)

Insert an EdgeEnd into the map, and clear the edgeList cache, since the list of edges has now changed.

protected void InsertEdgeEnd(EdgeEnd e, EdgeEnd obj)

Parameters

e EdgeEnd

An EdgeEnd

obj EdgeEnd

An EdgeEnd

IsAreaLabelsConsistent(GeometryGraph)

public bool IsAreaLabelsConsistent(GeometryGraph geometryGraph)

Parameters

geometryGraph GeometryGraph

Returns

bool

PropagateSideLabels(int)

public void PropagateSideLabels(int geomIndex)

Parameters

geomIndex int

ToString()

public override string ToString()

Returns

string

Write(StreamWriter)

public virtual void Write(StreamWriter outstream)

Parameters

outstream StreamWriter