Exemple #1
0
 private IEnumerable<IFillerVertex> GetOtherEnterPoint(MarkupFiller filler)
 {
     var otherEnterPoint = Point.IsFirst ? Enter.Next.LastPoint : Enter.Prev.FirstPoint;
     var vertex = new EnterFillerVertex(otherEnterPoint);
     if (vertex.Equals(filler.First) || !filler.Vertices.Any(v => vertex.Equals(v)))
         yield return vertex;
 }
        private IEnumerable <IFillerVertex> GetOtherEnterPoint(FillerContour contour)
        {
            var otherEnterPoint = Point.IsFirst ? Enter.Prev.LastPoint : Enter.Next.FirstPoint;
            var vertex          = new EnterFillerVertex(otherEnterPoint);
            var isCanEnd        = vertex.Equals(contour.First) && contour.VertexCount >= 3;
            var isUsed          = contour.Vertices.Any(v => vertex.Equals(v));
            var isEdgeLine      = Point.Lines.Any(l => l.ContainsPoint(otherEnterPoint));

            if ((isCanEnd || !isUsed) && !isEdgeLine)
            {
                yield return(vertex);
            }
        }