private bool InterceptArcWith(Arc arc, double tolerance = GeometrySettings.DEFAULT_TOLERANCE)
        {
            var c1        = this.ToCircle();
            var c2        = arc.ToCircle();
            var possibles = c1.Intersect(c2, tolerance);

            foreach (var p in possibles)
            {
                if (this.Contains(p, tolerance) && arc.Contains(p, tolerance))
                {
                    return(true);
                }
            }

            return(false);
        }
        private IEnumerable <Vector2> InterceptArc(Arc arc, double tolerance = GeometrySettings.DEFAULT_TOLERANCE)
        {
            var intersections = new List <Vector2>();
            var c1            = this.ToCircle();
            var c2            = arc.ToCircle();

            var possibles = c1.Intersect(c2, tolerance);

            foreach (var p in possibles)
            {
                if (this.Contains(p, tolerance) && arc.Contains(p, tolerance))
                {
                    intersections.Add(p);
                }
            }


            return(intersections);
        }
        private bool InterceptArcWith(Arc arc, double tolerance = GeometrySettings.DEFAULT_TOLERANCE)
        {
            var c1 = this.ToCircle();
            var c2 = arc.ToCircle();
            var possibles = c1.Intersect(c2, tolerance);

            foreach (var p in possibles)
            {
                if (this.Contains(p, tolerance) && arc.Contains(p, tolerance))
                    return true;
            }

            return false;
        }
        private IEnumerable<Vector2> InterceptArc(Arc arc, double tolerance = GeometrySettings.DEFAULT_TOLERANCE)
        {
            var intersections = new List<Vector2>();
            var c1 = this.ToCircle();
            var c2 = arc.ToCircle();

            var possibles = c1.Intersect(c2, tolerance);

            foreach (var p in possibles)
            {
                if (this.Contains(p, tolerance) && arc.Contains(p, tolerance))
                    intersections.Add(p);
            }


            return intersections;
        }