private static Polyline Merge( [NotNull] Polyline pl1, [NotNull] Polyline pl2, [NotNull] PolylineVertex ptInPl1, [NotNull] PolylineVertex ptInPl2) { var indexInPl1 = ptInPl1.Index + 1; var indexInPl2 = ptInPl2.Index; var pt = ptInPl2.Pt; var plMerged = AddVertex(pl1, pl2, indexInPl1, indexInPl2, pt); if (!plMerged.CheckCross()) { plMerged.Dispose(); plMerged = AddVertex(pl1, pl2, indexInPl1, indexInPl2, pt, -1); } return(plMerged); }
public static List <PolylineVertex> GetVertexes([NotNull] this Polyline pl) { return(PolylineVertex.GetVertexes(pl, string.Empty)); }
private static Polyline Merge(Polyline pl1, Polyline pl2, PolylineVertex ptInPl1, PolylineVertex ptInPl2) { Polyline plMerged; int indexInPl1 = ptInPl1.Index + 1; int indexInPl2 = ptInPl2.Index; var pt = ptInPl2.Pt; plMerged = AddVertex(pl1, pl2, indexInPl1, indexInPl2, pt, 1); if (!plMerged.CheckCross()) { plMerged.Dispose(); plMerged = AddVertex(pl1, pl2, indexInPl1, indexInPl2, pt, -1); } return plMerged; }