@kitware/vtk.js
Version:
Visualization Toolkit for the Web
97 lines (88 loc) • 2.74 kB
TypeScript
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;