UNPKG

@kitware/vtk.js

Version:

Visualization Toolkit for the Web

108 lines (90 loc) 3.15 kB
import vtkCamera from './Camera'; import vtkMapper, { IMapperInitialValues } from './Mapper'; /** * */ export interface IPixelSpaceCallbackMapperInitialValues extends IMapperInitialValues { callback?: any, useZValues?: boolean; } interface IWindowSize { usize: number; vsize: number; } export interface vtkPixelSpaceCallbackMapper extends vtkMapper { /** * */ getCallback(): any; /** * */ getUseZValues(): boolean /** * * @param dataset * @param camera * @param aspect * @param windowSize * @param depthValues */ invokeCallback(dataset: any, camera: vtkCamera, aspect: number, windowSize: IWindowSize, depthValues: number[]): void; /** * Set the callback function the mapper will call, during the rendering * process, with the screen coords of the points in dataset. The callback * function will have the following parameters: * * // An array of 4-component arrays, in the index-order of the datasets points * * coords: [ * [screenx, screeny, screenz, zBufValue], * ... * ] * // The active camera of the renderer, in case you may need to compute alternate * // depth values for your dataset points. Using the sphere mapper in your * // application code is one example where this may be useful, so that you can * // account for that mapper's radius when doing depth checks. * * camera: vtkCamera * // The aspect ratio of the render view and depthBuffer * aspect: float * // A Uint8Array of size width * height * 4, where the zbuffer values are * // encoded in the red and green components of each pixel. This will only * // be non-null after you call setUseZValues(true) on the mapper before * // rendering. * * depthBuffer: Uint8Array * * @param callback */ setCallback(callback: () => any): boolean /** * Set whether or not this mapper should capture the zbuffer during * rendering. Useful for allowing depth checks in the application code. * @param useZValues */ setUseZValues(useZValues: boolean): boolean } /** * Method use to decorate a given object (publicAPI+model) with vtkPixelSpaceCallbackMapper characteristics. * * @param publicAPI object on which methods will be bounds (public) * @param model object on which data structure will be bounds (protected) * @param {IPixelSpaceCallbackMapperInitialValues} [initialValues] (default: {}) */ export function extend(publicAPI: object, model: object, initialValues?: IPixelSpaceCallbackMapperInitialValues): void; /** * Method use to create a new instance of vtkPixelSpaceCallbackMapper * @param {IPixelSpaceCallbackMapperInitialValues} [initialValues] for pre-setting some of its content */ export function newInstance(initialValues?: IPixelSpaceCallbackMapperInitialValues): vtkPixelSpaceCallbackMapper; /** * vtkPixelSpaceCallbackMapper iterates over the points of its input dataset, * using the transforms from the active camera to compute the screen coordinates * of each point. */ export declare const vtkPixelSpaceCallbackMapper: { newInstance: typeof newInstance, extend: typeof extend, }; export default vtkPixelSpaceCallbackMapper;