UNPKG

@achirita/blox

Version:

A CAD library for building 3D models in the browser.

20 lines (19 loc) 1.02 kB
import { Plane, Vector } from '../math'; import { Edge } from '../modeling'; /** * Creates a BSpline curve passing through a set of points. * @param {Object} parameters - The parameters for the BSpline curve. * @param {Plane} [parameters.plane=Plane.XY] - The plane in which the curve is constructed. * @param {Vector[]} parameters.points - The points through which the curve passes. * @param {number} [parameters.minDegree=1] - The minimum degree of the BSpline curve. * @param {number} [parameters.maxDegree=6] - The maximum degree of the BSpline curve. * @param {('c0'|'c1'|'c2'|'c3'|'cn'|'g1'|'g2')} [parameters.continuityType="c2"] - The continuity type of the curve. * @returns {Edge} An `Edge` object representing the constructed `BSpline` curve. */ export function BSplineCurve({ plane, points, minDegree, maxDegree, continuityType }: { plane?: Plane; points: Vector[]; minDegree?: number; maxDegree?: number; continuityType?: ("c0" | "c1" | "c2" | "c3" | "cn" | "g1" | "g2"); }): Edge;