UNPKG

@kitware/vtk.js

Version:

Visualization Toolkit for the Web

97 lines (88 loc) 2.74 kB
import { vtkObject } from './../../interfaces'; export interface ISpline1DInitialValues {} // Boundary conditions available to compute open splines // DEFAULT : desired slope at boundary point is derivative from two points (boundary and second interior) // DERIVATIVE : desired slope at boundary point is the boundary value given. // SECOND_DERIVATIVE : second derivative at boundary point is the boundary value given. // SECOND_DERIVATIVE_INTERIOR_POINT : desired second derivative at boundary point is the boundary value given times second derivative // at first interior point. export enum BoundaryCondition { DEFAULT, DERIVATIVE, SECOND_DERIVATIVE, SECOND_DERIVATIVE_INTERIOR_POINT, } export interface vtkSpline1D extends vtkObject { /** * * @param {Number} size * @param {Float32Array} work * @param {Number[]} x * @param {Number[]} y */ computeCloseCoefficients( size: number, work: Float32Array, x: number[], y: number[] ): void; /** * * @param {Number} size * @param {Float32Array} work * @param {Number[]} x * @param {Number[]} y * @param {Object} options * @param {BoundaryCondition} options.leftConstraint * @param {Number} options.leftValue * @param {BoundaryCondition} options.rightConstraint * @param {Number} options.rightValue */ computeOpenCoefficients( size: number, work: Float32Array, x: number[], y: number[], options: { leftConstraint: BoundaryCondition; leftValue: number; rightConstraint: BoundaryCondition; rightValue: Number; } ): void; /** * * @param {Number} intervalIndex * @param {Number} t */ getValue(intervalIndex: number, t: number): void; } /** * Method used to decorate a given object (publicAPI+model) with vtkSpline1D characteristics. * * @param publicAPI object on which methods will be bounds (public) * @param model object on which data structure will be bounds (protected) * @param {ISpline1DInitialValues} [initialValues] (default: {}) */ export function extend( publicAPI: object, model: object, initialValues?: ISpline1DInitialValues ): void; /** * Method used to create a new instance of vtkSpline1D. * @param {ISpline1DInitialValues} [initialValues] for pre-setting some of its content */ export function newInstance( initialValues?: ISpline1DInitialValues ): vtkSpline1D; /** * vtkSpline1D provides methods for creating a 1D cubic spline object from given * parameters, and allows for the calculation of the spline value and derivative * at any given point inside the spline intervals. */ export declare const vtkSpline1D: { newInstance: typeof newInstance; extend: typeof extend; }; export default vtkSpline1D;