Class EdgeRing
Inherited Members
Namespace: NetTopologySuite.GeometriesGraph
Assembly: NetTopologySuite.dll
Syntax
public abstract class EdgeRing
Constructors
| Edit this page View SourceEdgeRing(DirectedEdge, GeometryFactory)
Creates an instance of this class using the provided start and geometryFactory.
Declaration
protected EdgeRing(DirectedEdge start, GeometryFactory geometryFactory)
Parameters
| Type | Name | Description |
|---|---|---|
| DirectedEdge | start | The start |
| GeometryFactory | geometryFactory | A |
Fields
| Edit this page View SourcestartDe
The directed edge which starts the list of edges for this EdgeRing.
Declaration
protected DirectedEdge startDe
Field Value
| Type | Description |
|---|---|
| DirectedEdge |
Properties
| Edit this page View SourceEdges
Returns the list of DirectedEdges that make up this EdgeRing.
Declaration
public IList<DirectedEdge> Edges { get; }
Property Value
| Type | Description |
|---|---|
| IList<DirectedEdge> | A list of |
GeometryFactory
A GeometryFactory to use.
Declaration
protected GeometryFactory GeometryFactory { get; }
Property Value
| Type | Description |
|---|---|
| GeometryFactory |
IsHole
Gets a value indicating if this EdgeRing is a hole of a Polygon
Declaration
public bool IsHole { get; }
Property Value
| Type | Description |
|---|---|
| bool |
IsIsolated
Gets a value indicating if this EdgeRing is isolated
Declaration
public bool IsIsolated { get; }
Property Value
| Type | Description |
|---|---|
| bool |
IsShell
Declaration
public bool IsShell { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Label
Gets a value indicating the topological relationship of this EdgeRing
Declaration
public Label Label { get; }
Property Value
| Type | Description |
|---|---|
| Label |
LinearRing
Gets the geometry representation of this EdgeRing
Declaration
public LinearRing LinearRing { get; }
Property Value
| Type | Description |
|---|---|
| LinearRing |
MaxNodeDegree
Declaration
public int MaxNodeDegree { get; }
Property Value
| Type | Description |
|---|---|
| int |
Shell
Declaration
public EdgeRing Shell { get; set; }
Property Value
| Type | Description |
|---|---|
| EdgeRing |
Methods
| Edit this page View SourceAddHole(EdgeRing)
Add an EdgeRing representing a hole
Declaration
public void AddHole(EdgeRing ring)
Parameters
| Type | Name | Description |
|---|---|---|
| EdgeRing | ring | The ring to add |
AddPoints(Edge, bool, bool)
Declaration
protected void AddPoints(Edge edge, bool isForward, bool isFirstEdge)
Parameters
| Type | Name | Description |
|---|---|---|
| Edge | edge | |
| bool | isForward | |
| bool | isFirstEdge |
ComputePoints(DirectedEdge)
Collect all the points from the DirectedEdges of this ring into a contiguous list.
Declaration
protected void ComputePoints(DirectedEdge start)
Parameters
| Type | Name | Description |
|---|---|---|
| DirectedEdge | start |
ComputeRing()
Compute a LinearRing from the point list previously collected. Test if the ring is a hole (i.e. if it is CCW) and set the hole flag accordingly.
Declaration
public void ComputeRing()
ContainsPoint(Coordinate)
This method will cause the ring to be computed. It will also check any holes, if they have been assigned.
Declaration
public bool ContainsPoint(Coordinate p)
Parameters
| Type | Name | Description |
|---|---|---|
| Coordinate | p | The point to test |
Returns
| Type | Description |
|---|---|
| bool |
|
GetCoordinate(int)
Access a Coordinate of this EdgeRing by its index.
Declaration
public Coordinate GetCoordinate(int i)
Parameters
| Type | Name | Description |
|---|---|---|
| int | i | The index of the |
Returns
| Type | Description |
|---|---|
| Coordinate | The |
GetNext(DirectedEdge)
Declaration
public abstract DirectedEdge GetNext(DirectedEdge de)
Parameters
| Type | Name | Description |
|---|---|---|
| DirectedEdge | de |
Returns
| Type | Description |
|---|---|
| DirectedEdge |
MergeLabel(Label)
Declaration
protected void MergeLabel(Label deLabel)
Parameters
| Type | Name | Description |
|---|---|---|
| Label | deLabel |
MergeLabel(Label, int)
Merge the RHS label from a DirectedEdge into the label for this EdgeRing. The DirectedEdge label may be null. This is acceptable - it results from a node which is NOT an intersection node between the Geometries (e.g. the end node of a LinearRing). In this case the DirectedEdge label does not contribute any information to the overall labelling, and is simply skipped.
Declaration
protected void MergeLabel(Label deLabel, int geomIndex)
Parameters
| Type | Name | Description |
|---|---|---|
| Label | deLabel | |
| int | geomIndex |
SetEdgeRing(DirectedEdge, EdgeRing)
Declaration
public abstract void SetEdgeRing(DirectedEdge de, EdgeRing er)
Parameters
| Type | Name | Description |
|---|---|---|
| DirectedEdge | de | |
| EdgeRing | er |
SetInResult()
Declaration
public void SetInResult()
ToPolygon(GeometryFactory)
Create the Polygon described by this EdgeRing
Declaration
public Polygon ToPolygon(GeometryFactory geometryFactory)
Parameters
| Type | Name | Description |
|---|---|---|
| GeometryFactory | geometryFactory | The |
Returns
| Type | Description |
|---|---|
| Polygon | A |