/// <summary> /// Creates a builder for linear elements which may be present /// in the overlay result. /// </summary> /// <param name="inputGeom">The input geometries</param> /// <param name="graph">The topology graph</param> /// <param name="hasResultArea"><c>true</c> if an area has been generated for the result</param> /// <param name="opCode">The overlay operation code</param> /// <param name="geomFact">The output geometry factory</param> public LineBuilder(InputGeometry inputGeom, OverlayGraph graph, bool hasResultArea, SpatialFunction opCode, GeometryFactory geomFact) { _graph = graph; _opCode = opCode; _geometryFactory = geomFact; _hasResultArea = hasResultArea; _inputAreaIndex = inputGeom.GetAreaIndex(); }
internal static Geometry ToLines(OverlayGraph graph, bool isOutputEdges, GeometryFactory geomFact) { var lines = new List <LineString>(); foreach (var edge in graph.Edges) { bool includeEdge = isOutputEdges || edge.IsInResultArea; if (!includeEdge) { continue; } //Coordinate[] pts = getCoords(nss); var pts = edge.CoordinatesOriented; var line = geomFact.CreateLineString(pts); line.UserData = LabelForResult(edge); lines.Add(line); } return(geomFact.BuildGeometry(lines)); }
public IntersectionPointBuilder(OverlayGraph graph, GeometryFactory geomFact) { _graph = graph; _geometryFactory = geomFact; }
public OverlayLabeller(OverlayGraph graph, InputGeometry inputGeometry) { _graph = graph; _inputGeometry = inputGeometry; _edges = graph.Edges; }