UNPKG

@mlightcad/libredwg-web

Version:

A DWG/DXF JavaScript parser based on libredwg

24 lines 831 B
export const toPiecewiseBezier = (k, controlPoints, knots) => { const piecewise = { knots: [], controlPoints: [] }; let controlPointIndex = 0; let knotIndex = k; while (knotIndex < knots.length - k + 1) { const m = multiplicity(knots, knotIndex); const cp = controlPoints.slice(controlPointIndex, controlPointIndex + k); piecewise.knots.push(...knots.slice(knotIndex, knotIndex + m)); piecewise.controlPoints.push(...cp); controlPointIndex += m; knotIndex += m; } return piecewise; }; export const multiplicity = (knots, index) => { let count = 0; const knotValue = knots[index]; while (index < knots.length && knots[index] === knotValue) { count++; index++; } return count; }; //# sourceMappingURL=toPiecewiseBezier.js.map