import type { ReadonlyVec, Vec } from "@thi.ng/vectors"; export interface SubdivKernel { /** * Subdivision function. Called with an array of {@link SubdivKernel.size} * consecutive points of the original curve and can produce any number of * result points. Additionally is passed the index `i` of the processed * point and `nump`, the total number of point in the curve/polyline. The * latter 2 args are useful to implement custom behaviors for the start / * end points of the curve. * * @param pts * @param i * @param nump * @param closed */ fn: (pts: ReadonlyVec[], i: number, nump: number, closed: boolean) => Vec[]; /** * Optional function to pre-process the original curve points prior * to each subdivision iteration and MUST yield an iterable of * points (e.g. for closed curves / polygons to prepend the last * point before the first). If omitted, the curve points are * processed as is. * * @param pts * @param closed */ pre?: (pts: ReadonlyVec[], closed: boolean) => Iterable; /** * Kernal size. The subdivision function `fn` always receives `size` * number consecutive points. */ size: number; } //# sourceMappingURL=api.d.ts.map