@numericelements/knot-sequence
Version:
A library for generating and manipulating knot sequences for b-spline curves and surfaces
17 lines (13 loc) • 1.16 kB
JavaScript
;
var KnotSequenceConstructorInterface = require('../KnotSequenceConstructorInterface.cjs');
var StrictlyIncreasingOpenKnotSequenceOpenCurve = require('../StrictlyIncreasingOpenKnotSequenceOpenCurve.cjs');
function fromIncreasingToStrictlyIncreasingOpenKnotSequenceOC(increasingSeq) {
const maxMultOrder = increasingSeq.maxMultiplicityOrder;
if (increasingSeq.isSequenceUpToC0Discontinuity) {
return new StrictlyIncreasingOpenKnotSequenceOpenCurve.StrictlyIncreasingOpenKnotSequenceOpenCurve(maxMultOrder, { type: KnotSequenceConstructorInterface.STRICTLYINCREASINGOPENKNOTSEQUENCE_UPTOC0DISCONTINUITY, knots: increasingSeq.distinctAbscissae(), multiplicities: increasingSeq.multiplicities() });
}
else {
return new StrictlyIncreasingOpenKnotSequenceOpenCurve.StrictlyIncreasingOpenKnotSequenceOpenCurve(maxMultOrder, { type: KnotSequenceConstructorInterface.STRICTLYINCREASINGOPENKNOTSEQUENCE, knots: increasingSeq.distinctAbscissae(), multiplicities: increasingSeq.multiplicities() });
}
}
exports.fromIncreasingToStrictlyIncreasingOpenKnotSequenceOC = fromIncreasingToStrictlyIncreasingOpenKnotSequenceOC;