Exemplo n.º 1
0
        private bool CalculateReshapeSubcurves(
            [NotNull] IPolyline preprocessedSourcePolyline,
            [NotNull] IPolyline targetPolyline,
            [NotNull] IGeometryCollection differences,
            [NotNull] IPointCollection intersectionPoints,
            [NotNull] ICollection <CutSubcurve> resultList,
            [CanBeNull] ITrackCancel trackCancel)
        {
            var canReshape = false;

            foreach (
                CutSubcurve subcurve in
                CalculateReshapeSubcurves(preprocessedSourcePolyline, differences,
                                          intersectionPoints, targetPolyline))
            {
                if (trackCancel != null && !trackCancel.Continue())
                {
                    return(canReshape);
                }

                if (subcurve.CanReshape)
                {
                    canReshape = true;
                }

                subcurve.IsFiltered = SubcurveFilter != null &&
                                      SubcurveFilter.IsExcluded(subcurve);

                resultList.Add(subcurve);
            }

            return(canReshape);
        }