create MethodStatic
Create a weighted bspline surface, with control points and weights each organized as flattened arrays continuing from one U row to the next.
- Use createGridif the control points are in a deeper grid array structure.
- knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined).
- When knots are given, two knot count conditions are recognized:- If poleArray.length + order == knotArray.length, the first and last are assumed to be the extraneous knots of classic clamping.
- If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have the classic unused first and last knot.
 
create(controlPointArray: Float64Array | Point3d[], weightArray: Float64Array | number[], numPolesU: number, orderU: number, knotArrayU: Float64Array | number[], numPolesV: number, orderV: number, knotArrayV: Float64Array | number[]): undefined | BSplineSurface3dH
| Parameter | Type | Description | 
|---|---|---|
| controlPointArray | Float64Array | Point3d[] | Array of [wx,wy,wz] points, ordered along the U direction. | 
| weightArray | Float64Array | number[] | array of weights, ordered along the U direction. If undefined, unit weights are installed. | 
| numPolesU | number | number of poles in each row in the U direction. | 
| orderU | number | order for the U direction polynomial ( orderis one more than thedegree.  "cubic" polynomial is order 4.) | 
| knotArrayU | Float64Array | number[] | optional knots for the V direction. See note above about knot counts. | 
| numPolesV | number | number of poles in each column in the V direction (the number of rows). | 
| orderV | number | order for the V direction polynomial ( orderis one more than thedegree.  "cubic" polynomial is order 4.) | 
| knotArrayV | Float64Array | number[] | optional knots for the V direction. See note above about knot counts. | 
Returns - undefined | BSplineSurface3dH
Defined in
- bspline/BSplineSurface.ts Line 907
Last Updated: 24 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.