Exemplo n.º 1
0
 internal static bool Inscribes(this CircularStack <KtPoint2D> points, KtSegments2D segments) =>
 segments.Any(points.Inscribes);
Exemplo n.º 2
0
 internal static bool Inscribes(this IEnumerable <CircularStack <KtPoint2D> > stacks, KtSegments2D segments) =>
 stacks.Any(stack => stack.Inscribes(segments));
Exemplo n.º 3
0
 public bool Inscribes(KtSegments2D segments) => LoopedCorners().Inscribes(segments);
 private static (KtSegments2D result, IEnumerable <KtSegments2D> remaining) ConnectToLeftAndRight(KtSegments2D segments, IEnumerable <KtSegments2D> remainingSegments) => (segments, remainingSegments).GetAllPossibleConnections(true).GetAllPossibleConnections(false);
 private static (KtSegments2D result, IEnumerable <KtSegments2D> remaining) ConnectToListOfSegments(this KtSegments2D segments, IEnumerable <KtSegments2D> listOfSegments) => (listOfSegments?.Any() != true || segments.IsRegion()) ? (segments, listOfSegments) : ConnectToLeftAndRight(segments, listOfSegments);
 private static IEnumerable <KtSegments2D> CutBy(this KtSegments2D firstEdge, List <KtSegment2D> edges) => edges.Skip(1).Aggregate(firstEdge.CutBy(edges[0]), (results, edge) => results.Select(result => result.CutBy(edge)).SelectMany(result => result)).ToList();