UNPKG

@numericelements/knot-sequence

Version:

A library for generating and manipulating knot sequences for b-spline curves and surfaces

15 lines (12 loc) 1.08 kB
import { STRICTLYINCREASINGOPENKNOTSEQUENCE_UPTOC0DISCONTINUITY_CLOSEDCURVEALLKNOTS, STRICTLYINCREASINGOPENKNOTSEQUENCECLOSEDCURVEALLKNOTS } from '../KnotSequenceConstructorInterface.js'; import { StrictlyIncreasingOpenKnotSequenceClosedCurve } from '../StrictlyIncreasingOpenKnotSequenceClosedCurve.js'; function fromIncreasingToStrictlyIncreasingOpenKnotSequenceCC(increasingSeq) { const maxMultOrder = increasingSeq.maxMultiplicityOrder; if (increasingSeq.isSequenceUpToC0Discontinuity) { return new StrictlyIncreasingOpenKnotSequenceClosedCurve(maxMultOrder, { type: STRICTLYINCREASINGOPENKNOTSEQUENCE_UPTOC0DISCONTINUITY_CLOSEDCURVEALLKNOTS, knots: increasingSeq.distinctAbscissae(), multiplicities: increasingSeq.multiplicities() }); } else { return new StrictlyIncreasingOpenKnotSequenceClosedCurve(maxMultOrder, { type: STRICTLYINCREASINGOPENKNOTSEQUENCECLOSEDCURVEALLKNOTS, knots: increasingSeq.distinctAbscissae(), multiplicities: increasingSeq.multiplicities() }); } } export { fromIncreasingToStrictlyIncreasingOpenKnotSequenceCC };