@numericelements/knot-sequence
Version:
A library for generating and manipulating knot sequences for b-spline curves and surfaces
14 lines (11 loc) • 1.1 kB
JavaScript
import { STRICTLYINCREASINGOPENKNOTSEQUENCECLOSEDCURVEALLKNOTS } from '../KnotSequenceConstructorInterface.js';
import { StrictlyIncreasingOpenKnotSequenceClosedCurve } from '../StrictlyIncreasingOpenKnotSequenceClosedCurve.js';
import { prepareStrictlyIncreasingOpenKnotSeqCCfromStrictlyIncreasingPeriodicKnotSeq } from './prepareStrictlyIncreasingOpenKnotSeqCCfromStrictlyIncreasingPeriodicKnotSeq.js';
function fromStrictlyIncreasingPeriodicToStrictlyIncreasingOpenKnotSequenceCC(strictIncSeq) {
const maxMultOrder = strictIncSeq.maxMultiplicityOrder;
const openSeqParams = prepareStrictlyIncreasingOpenKnotSeqCCfromStrictlyIncreasingPeriodicKnotSeq(strictIncSeq);
const knotsOpenSequence = openSeqParams.knots;
const multiplicitiesOpenSequence = openSeqParams.multiplicities;
return new StrictlyIncreasingOpenKnotSequenceClosedCurve(maxMultOrder + 1, { type: STRICTLYINCREASINGOPENKNOTSEQUENCECLOSEDCURVEALLKNOTS, knots: knotsOpenSequence, multiplicities: multiplicitiesOpenSequence });
}
export { fromStrictlyIncreasingPeriodicToStrictlyIncreasingOpenKnotSequenceCC };