UNPKG

@numericelements/knot-sequence

Version:

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

19 lines (15 loc) 926 B
'use strict'; var IncreasingPeriodicKnotSequenceClosedCurve = require('../IncreasingPeriodicKnotSequenceClosedCurve.cjs'); var KnotSequenceConstructorInterface = require('../KnotSequenceConstructorInterface.cjs'); function fromStrictlyIncreasingPeriodicToIncreasingPeriodicKnotSequence(strictIncSeq) { const knotAbscissae = []; for (const knot of strictIncSeq) { if (knot !== undefined) { for (let i = 0; i < knot.multiplicity; i++) { knotAbscissae.push(knot.abscissa); } } } return new IncreasingPeriodicKnotSequenceClosedCurve.IncreasingPeriodicKnotSequenceClosedCurve(strictIncSeq.maxMultiplicityOrder, { type: KnotSequenceConstructorInterface.INCREASINGPERIODICKNOTSEQUENCE, periodicKnots: knotAbscissae }); } exports.fromStrictlyIncreasingPeriodicToIncreasingPeriodicKnotSequence = fromStrictlyIncreasingPeriodicToIncreasingPeriodicKnotSequence;