API Reference > geometry-core > Bspline > BSpline1dNd BSpline1dNd Class Bspline knots and poles for 1d-to-Nd. The "pole" (aka control point) of this class is a block of poleLength numbers. Derived classes (not this class) assign meaning such as x,y,z,w. for instance, an instance of this class with poleLength===3 does not know if its poles are x,y,z or weighed 2D x,y,w Methods Name Description constructor(numPoles: number, poleLength: number, order: number, knots: KnotVector): BSpline1dNd Protected initialize arrays for given spline dimensions. evaluateBasisFunctionsInSpan(spanIndex: number, spanFraction: number, f: Float64Array, df?: Float64Array, ddf?: Float64Array): void Evaluate the order basis functions (and optionally one or two derivatives) at a given fractional position within indexed span. evaluateBuffersAtKnot(u: number, numDerivative: number = 0): void Evaluate the function values and 1 or 2 derivatives into this.poleBuffer, this.poleBuffer1 and this.poleBuffer2 evaluateBuffersInSpan(spanIndex: number, spanFraction: number): void * Evaluate the basis functions at spanIndex and fraction. evaluateBuffersInSpan1(spanIndex: number, spanFraction: number): void * Evaluate the basis functions and one derivative at spanIndex and fraction. getPoint3dPole(i: number, result?: Point3d): undefined | Point3d copy 3 values of pole i into a point. reverseInPlace(): void Reverse the (blocked) poles (in this.packedData in place. spanFractionToKnot(span: number, localFraction: number): number Map a span index and local fraction to knot value. sumPoleBuffer1ForSpan(spanIndex: number): void sum poles at span spanIndex by the weights in the poleBuffer1, i.e. sumPoleBuffer2ForSpan(spanIndex: number): void sum poles at span spanIndex by the weights in the poleBuffer2, i.e. sumPoleBufferForSpan(spanIndex: number): void sum poles at span spanIndex by the weights in the poleBuffer testCloseablePolygon(mode?: BSplineWrapMode): boolean Test if the leading and trailing polygon coordinates are replicated in the manner of a "closed" bspline polygon which has been expanded create(numPoles: number, poleLength: number, order: number, knots: KnotVector): undefined | BSpline1dNd Static create a 1Bspline1dNd` Properties Name Type Description basisBuffer Float64Array preallocated array (length === order) used as temporary in evaluations basisBuffer1 Float64Array preallocated array (length === order) used as temporary in evaluations basisBuffer2 Float64Array preallocated array (length === order) used as temporary in evaluations degree Accessor ReadOnly number (property accessor) Return the degree of the polynomials. knots KnotVector knots of the bspline numPoles Accessor ReadOnly number (property accessor) Return the number of poles numSpan Accessor ReadOnly number (property accessor) Return the number of bezier spans (including null spans at multiple knots) order Accessor ReadOnly number (property accessor) Return the number of order (one more than degree) of the polynomials packedData Float64Array poles, packed in blocks of poleLength doubles. poleBuffer Float64Array preallocated array (length === poleLength) used as temporary in evaluations poleBuffer1 Float64Array preallocated array (length === poleLength) used as temporary in evaluations poleBuffer2 Float64Array preallocated array (length === poleLength) used as temporary in evaluations poleLength number (property accessor) Return the number of numeric values per pole. Defined in bspline/BSpline1dNd.ts Line 21 Last Updated: 12 June, 2024