UNPKG

@kitware/vtk.js

Version:

Visualization Toolkit for the Web

102 lines (88 loc) 2.36 kB
import { vtkObject } from './../../../interfaces'; import { Nullable } from './../../../types'; import { ISynchronizerContext, IViewState } from '../SynchronizableRenderWindow'; export type BuilderFunction = <T extends vtkObject>( type: string, initialProps?: Record<string, unknown> ) => Nullable<T>; export type UpdaterFunction = ( instance: vtkObject, state: IViewState, context: ISynchronizerContext ) => void; export interface IObjectManager { /** * Build a vtkObject. */ build: BuilderFunction; /** * @param {String} type The type to update * @param {vtkObject} instance The specific instance * @param {IViewState} props * @param {ISynchronizerContext} context */ update( type: string, instance: vtkObject, props: IViewState, context: ISynchronizerContext ): Promise<Error | void>; /** * Defines a new type handler with the specified builder and updater functions * * @param {String} type The type you wish to register * @param {BuilderFunction} [buildFn] The builder function to associate with the type * @param {UpdaterFunction} [updateFn] The updater function to associate with the type */ setTypeMapping( type: string, buildFn?: BuilderFunction, updateFn?: UpdaterFunction ): void; /** * Clear all type mappings */ clearTypeMapping(): void; /** * Get a list of all supported types * * @returns {string[]} */ getSupportedTypes(): string[]; /** * Clear all one time updaters */ clearOneTimeUpdaters(): void; /** * Update the associated render window */ updateRenderWindow(): void; /** * Register a new type to exclude * * @param {string} type The type to exclude * @param {string} propertyName The property name to exclude * @param {unknown} propertyValue The property value to exclude */ excludeInstance( type: string, propertyName: string, propertyValue: unknown ): void; /** * Set the default types mapping * * @param {boolean} [reset] Clear all existing type mappings, defaults to true */ setDefaultMapping(reset?: boolean): void; /** * Apply the default aliases */ applyDefaultAliases(): void; /** * Always update the camera */ alwaysUpdateCamera(): void; } declare const _default: IObjectManager; export default _default;