@numericelements/knot-sequence
Version:
A library for generating and manipulating knot sequences for b-spline curves and surfaces
15 lines (12 loc) • 997 B
JavaScript
import { STRICTLYINCREASINGOPENKNOTSEQUENCE_UPTOC0DISCONTINUITY, STRICTLYINCREASINGOPENKNOTSEQUENCE } from '../KnotSequenceConstructorInterface.js';
import { StrictlyIncreasingOpenKnotSequenceOpenCurve } from '../StrictlyIncreasingOpenKnotSequenceOpenCurve.js';
function fromIncreasingToStrictlyIncreasingOpenKnotSequenceOC(increasingSeq) {
const maxMultOrder = increasingSeq.maxMultiplicityOrder;
if (increasingSeq.isSequenceUpToC0Discontinuity) {
return new StrictlyIncreasingOpenKnotSequenceOpenCurve(maxMultOrder, { type: STRICTLYINCREASINGOPENKNOTSEQUENCE_UPTOC0DISCONTINUITY, knots: increasingSeq.distinctAbscissae(), multiplicities: increasingSeq.multiplicities() });
}
else {
return new StrictlyIncreasingOpenKnotSequenceOpenCurve(maxMultOrder, { type: STRICTLYINCREASINGOPENKNOTSEQUENCE, knots: increasingSeq.distinctAbscissae(), multiplicities: increasingSeq.multiplicities() });
}
}
export { fromIncreasingToStrictlyIncreasingOpenKnotSequenceOC };