Class EdgeRing
Inherited Members
Namespace: NetTopologySuite.GeometriesGraph
Assembly: NetTopologySuite.dll
Syntax
public abstract class EdgeRing
Constructors
| Improve this Doc 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
| Improve this Doc View SourcestartDe
The directed edge which starts the list of edges for this EdgeRing.
Declaration
protected DirectedEdge startDe
Field Value
Type | Description |
---|---|
DirectedEdge |
Properties
| Improve this Doc 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 |
---|---|
Boolean |
IsIsolated
Gets a value indicating if this EdgeRing
is isolated
Declaration
public bool IsIsolated { get; }
Property Value
Type | Description |
---|---|
Boolean |
IsShell
Declaration
public bool IsShell { get; }
Property Value
Type | Description |
---|---|
Boolean |
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 |
---|---|
Int32 |
Shell
Declaration
public EdgeRing Shell { get; set; }
Property Value
Type | Description |
---|---|
EdgeRing |
Methods
| Improve this Doc 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, Boolean, Boolean)
Declaration
protected void AddPoints(Edge edge, bool isForward, bool isFirstEdge)
Parameters
Type | Name | Description |
---|---|---|
Edge | edge | |
Boolean | isForward | |
Boolean | 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 |
---|---|
Boolean |
|
GetCoordinate(Int32)
Access a Coordinate
of this EdgeRing
by its index.
Declaration
public Coordinate GetCoordinate(int i)
Parameters
Type | Name | Description |
---|---|---|
Int32 | 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, Int32)
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 | |
Int32 | 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 |