public BCurve(int degree, Vector[] controlPoints, BasisFunction basisFunction) { if (controlPoints.Length + degree + 1 != basisFunction.GetNKnots()) throw new Exception("Number of control points + 1 + degree != n_knots"); _mDegree = degree; _mControlPoints = controlPoints; _mBasis = basisFunction; _mDimension = _mControlPoints[0].VectorDimension(); }
public BCurve(int degree, List<Vector> controlPoints, BasisFunction basisFunction) { if (controlPoints.Count + 1 + degree != basisFunction.GetNKnots()) throw new Exception("Number of control points + 1 + degree != n_knots"); _mDegree = degree; _mControlPoints = controlPoints.ToArray(); _mBasis = basisFunction; _mDimension = _mControlPoints[0].VectorDimension(); }