KiteFunction
A PDF function (ISO 32000-1 §7.10). Functions map an n-component input to an m-component output, used by shadings, transparency groups, tint transforms and halftone calculations.
Supported types:
Type 0 sampled (§7.10.2): multidimensional sample table with multilinear interpolation.
Type 2 exponential interpolation (§7.10.3).
Type 3 stitching (§7.10.4).
Type 4 PostScript calculator (§7.10.5): a small stack interpreter.
An array of n single-output functions (as some shadings / tint transforms use) is wrapped in ArrayCombination.
Inheritors
Types
An array of single-output functions evaluated in parallel, producing one output component each (shadings / tint transforms sometimes use this form).
Type 0 sampled function. A regular sample grid (one value per output per grid point) interpolated multilinearly. The common case is 1 input (shading colour ramps) but tint transforms use up to 4.
Exponential interpolation: c0 + x^N * (c1 - c0) per output channel.
Type 4 PostScript calculator function. The program is compiled once into a nested token tree; evaluateInternal runs it on a small operand stack.
Function type we don't model; returns zeros of the right length.
Properties
Functions
Evaluate f(input) → output. The output length is outputCount.