@numericelements/knot-sequence
Version:
A library for generating and manipulating knot sequences for b-spline curves and surfaces
19 lines (15 loc) • 926 B
JavaScript
;
var IncreasingPeriodicKnotSequenceClosedCurve = require('../IncreasingPeriodicKnotSequenceClosedCurve.cjs');
var KnotSequenceConstructorInterface = require('../KnotSequenceConstructorInterface.cjs');
function fromStrictlyIncreasingPeriodicToIncreasingPeriodicKnotSequence(strictIncSeq) {
const knotAbscissae = [];
for (const knot of strictIncSeq) {
if (knot !== undefined) {
for (let i = 0; i < knot.multiplicity; i++) {
knotAbscissae.push(knot.abscissa);
}
}
}
return new IncreasingPeriodicKnotSequenceClosedCurve.IncreasingPeriodicKnotSequenceClosedCurve(strictIncSeq.maxMultiplicityOrder, { type: KnotSequenceConstructorInterface.INCREASINGPERIODICKNOTSEQUENCE, periodicKnots: knotAbscissae });
}
exports.fromStrictlyIncreasingPeriodicToIncreasingPeriodicKnotSequence = fromStrictlyIncreasingPeriodicToIncreasingPeriodicKnotSequence;