/// <summary> /// Инициализирует новый экземпляр класса <see cref="ParametricCurves{T}"/> из массива объектов <see cref="ParametricCurveDistanceCompiler{T}"/>. /// </summary> /// <param name="compilers">Массив компилированных кривых.</param> public ParametricCurves(ParametricCurveDistanceCompiler <T>[] compilers) { var compilersCopy = new ParametricCurveDistanceCompiler <T> [compilers.Length]; compilers.CopyTo(compilersCopy, 0); Compilers = compilersCopy; }
/// <summary> /// Инициализирует новый экземпляр класса <see cref="ParametricCurves{T}"/> из коллекции объектов <see cref="ParametricCurveDistanceCompiler{T}"/>. /// </summary> /// <param name="compilers">Коллекция компилированных кривых.</param> public ParametricCurves(ICollection <ParametricCurveDistanceCompiler <T> > compilers) { var compilersCopy = new ParametricCurveDistanceCompiler <T> [compilers.Count]; compilers.CopyTo(compilersCopy, 0); Compilers = compilersCopy; }
private void InitFromArray(Point3D[] points) { _points = points; Compilers = new ParametricCurveDistanceCompiler <BezierCurve> [_points.Length / 3]; for (var i = 1; i < _points.Length; i += 3) { var bezier = new BezierCurve(_points[i - 1], _points[i], _points[i + 1], _points[i + 2]); Compilers[i / 3] = new ParametricCurveDistanceCompiler <BezierCurve>(bezier); } }