Maybe someone can help me, how can I get all self-intersection points in polygon?
private void CollectAlIntersections(IGeometry g)
{
List<ICoordinate> invalidPoints = new List<ICoordinate>();
GeometryGraph geomGraph = new GeometryGraph(0, g);
LineIntersector li = new RobustLineIntersector();
SegmentIntersector intersector = geomGraph.ComputeSelfNodes(li, true);
if (intersector.HasProperIntersection)
{
ICoordinate invalidPoint = intersector.ProperIntersectionPoint;
invalidPoints.Add(invalidPoint);
}
}
Problem is that I'm always getting only one intersection point althought polygon has at least 4 self-intersecting points. Can anyone help me?