@numericelements/knot-sequence
Version:
A library for generating and manipulating knot sequences for b-spline curves and surfaces
16 lines (12 loc) • 1.31 kB
JavaScript
;
var KnotSequenceConstructorInterface = require('../KnotSequenceConstructorInterface.cjs');
var StrictlyIncreasingOpenKnotSequenceClosedCurve = require('../StrictlyIncreasingOpenKnotSequenceClosedCurve.cjs');
var prepareStrictlyIncreasingOpenKnotSeqCCfromStrictlyIncreasingPeriodicKnotSeq = require('./prepareStrictlyIncreasingOpenKnotSeqCCfromStrictlyIncreasingPeriodicKnotSeq.cjs');
function fromStrictlyIncreasingPeriodicToStrictlyIncreasingOpenKnotSequenceCC(strictIncSeq) {
const maxMultOrder = strictIncSeq.maxMultiplicityOrder;
const openSeqParams = prepareStrictlyIncreasingOpenKnotSeqCCfromStrictlyIncreasingPeriodicKnotSeq.prepareStrictlyIncreasingOpenKnotSeqCCfromStrictlyIncreasingPeriodicKnotSeq(strictIncSeq);
const knotsOpenSequence = openSeqParams.knots;
const multiplicitiesOpenSequence = openSeqParams.multiplicities;
return new StrictlyIncreasingOpenKnotSequenceClosedCurve.StrictlyIncreasingOpenKnotSequenceClosedCurve(maxMultOrder + 1, { type: KnotSequenceConstructorInterface.STRICTLYINCREASINGOPENKNOTSEQUENCECLOSEDCURVEALLKNOTS, knots: knotsOpenSequence, multiplicities: multiplicitiesOpenSequence });
}
exports.fromStrictlyIncreasingPeriodicToStrictlyIncreasingOpenKnotSequenceCC = fromStrictlyIncreasingPeriodicToStrictlyIncreasingOpenKnotSequenceCC;