private BGCurvePoint CreatePoint(BGCurve curve, BGCurveSettings settings)
        {
            var math = overlay.Editor.Editor.Math;

            var from    = curve[pointIndex];
            var to      = pointIndex == curve.PointsCount - 1 ? curve[0] : curve[pointIndex + 1];
            var ratio   = (splineIntersectionDistance - math[pointIndex].DistanceFromStartToOrigin) / math[pointIndex].Distance;
            var tangent = BGEditorUtility.CalculateTangent(@from, to, ratio);

            var point = BGNewPointPositionManager.CreatePointBetween(curve, @from, to, settings.Sections, settings.ControlType, intersectPosition, tangent);

            return(point);
        }