UNPKG

@thewtex/vtk.js-esm

Version:

Visualization Toolkit for the Web

613 lines (516 loc) 11.3 kB
import { Bounds } from '@kitware/vtk.js/types'; import vtkCamera from '@kitware/vtk.js/Rendering/Core/Camera'; import vtkLight from '@kitware/vtk.js/Rendering/Core/Light'; import vtkRenderWindow from '@kitware/vtk.js/Rendering/Core/RenderWindow'; import vtkProp3D from '@kitware/vtk.js/Rendering/Core/Prop3D'; import vtkViewport from '@kitware/vtk.js/Rendering/Core/Viewport'; import vtkVolume from '@kitware/vtk.js/Rendering/Core/Volume'; import vtkTexture from '@kitware/vtk.js/Rendering/Core/Texture'; interface IRendererInitialValues { allBounds?: Bounds[]; ambient?: number[]; allocatedRenderTime?: number; timeFactor?: number; automaticLightCreation?: boolean; twoSidedLighting?: boolean; lastRenderTimeInSeconds?: number; lights?: vtkLight[]; actors?: vtkProp3D[]; volumes?: vtkVolume[]; lightFollowCamera?: boolean; numberOfPropsRendered?: number; layer?: number; preserveColorBuffer?: boolean; preserveDepthBuffer?: boolean; interactive?: boolean; nearClippingPlaneTolerance?: number; clippingRangeExpansion?: number; erase?: boolean; draw?: boolean; useShadows?: boolean; useDepthPeeling?: boolean; occlusionRatio?: number; maximumNumberOfPeels?: number; texturedBackground?: boolean; pass?: number; } export interface vtkRenderer extends vtkViewport { /** * */ isActiveCameraCreated(): boolean; /** * * @param actor */ addActor(actor: vtkProp3D): boolean; /** * Add a light to the list of lights. * @param light */ addLight(light: vtkLight): void; /** * Not Implemented yet */ allocateTime(): any; /** * * @param volume */ addVolume(volume: vtkVolume): boolean; /** * Create and add a light to renderer. */ createLight(): vtkLight; /** * */ computeVisiblePropBounds(): number[]; /** * Get the active camera */ getActiveCamera(): vtkCamera; /** * */ getActiveCameraAndResetIfCreated(): vtkCamera; /** * Return any actors in this renderer. * */ getActors(): vtkProp3D[]; /** * Return any actors in this renderer. * */ getActorsByReference(): vtkProp3D[]; /** * * @default 100 */ getAllocatedRenderTime(): number; /** * */ getAutomaticLightCreation(): boolean; /** * * @default null */ getBackgroundTexture(): vtkTexture | null; /** * * @default null */ getBackingStore(): any; /** * */ getClippingRangeExpansion(): number; /** * * @default null */ getDelegate(): any; /** * * @default true */ getDraw(): boolean; /** * * @default true */ getErase(): boolean; /** * * @default true */ getInteractive(): boolean; /** * * @default -1 */ getLastRenderTimeInSeconds(): number; /** * * @default 0 */ getNumberOfPropsRendered(): number; /** * * @default */ getLastRenderingUsedDepthPeeling(): any /** * * @default 0 */ getLayer(): number; /** * * @default true */ getLightFollowCamera(): boolean; /** * */ getLights(): vtkLight[]; /** * */ getLightsByReference(): vtkLight[]; /** * * @default 4 */ getMaximumNumberOfPeels(): number; /** * Return the `Modified Time` which is a monotonic increasing integer * global for all vtkObjects. * * This allow to solve a question such as: * - Is that object created/modified after another one? * - Do I need to re-execute this filter, or not? ... * * @return {Number} the global modified time. */ getMTime(): number; /** * * @default 0 */ getNearClippingPlaneTolerance(): number; /** * * @default 0 */ getOcclusionRatio(): number; /** * * @default null */ getRenderWindow(): vtkRenderWindow | null; /** * * @default 0 */ getPass(): number; /** * * @default false */ getPreserveColorBuffer(): boolean; /** * * @default false */ getPreserveDepthBuffer(): boolean; /** * * @default null */ getSelector(): any; /** * * @default 1 */ getTimeFactor(): number; /** * * @default true */ getTransparent(): boolean; /** * * @default false */ getTexturedbackground(): boolean; /** * * @default true */ getTwosidedlighting(): boolean; /** * * @default false */ getUsedepthpeeling(): boolean; /** * * @default false */ getUseshadows(): boolean; /** * */ getVTKWindow(): vtkRenderWindow; /** * Return the collection of volumes. * */ getVolumes(): vtkVolume[]; /** * Return the collection of volumes. * */ getVolumesByReference(): vtkVolume[]; /** * Create a new Camera sutible for use with this type of Renderer. */ makeCamera(): vtkCamera; /** * Create a new Light sutible for use with this type of Renderer. */ makeLight(): vtkLight; /** * requires the aspect ratio of the viewport as X/Y * @param {Number} x The x coordinate. * @param {Number} y The y coordinate. * @param {Number} z The z coordinate. * @param {Number} aspect */ normalizedDisplayToWorld(x: number, y: number, z: number, aspect: number): number[]; /** * * @param {Number} x The x coordinate. * @param {Number} y The y coordinate. * @param {Number} z The z coordinate. * @param {Number} aspect */ projectionToView(x: number, y: number, z: number, aspect: number): number[]; /** * Specify the camera to use for this renderer. * @param {vtkCamera} camera The camera object to use. */ setActiveCamera(camera: vtkCamera | null): boolean; /** * * @param {Boolean} automaticLightCreation */ setAutomaticLightCreation(automaticLightCreation: boolean): boolean; /** * * @param {vtkTexture} backgroundTexture */ setBackgroundTexture(backgroundTexture: vtkTexture): boolean; /** * * @param {*} backingStore */ setBackingStore(backingStore: any): boolean; /** * * @param {Number} clippingRangeExpansion */ setClippingRangeExpansion(clippingRangeExpansion: number): boolean; /** * * @param delegate */ setDelegate(delegate: any): boolean; /** * * @param {Boolean} draw */ setDraw(draw: boolean): boolean; /** * * @param {Boolean} erase */ setErase(erase: boolean): boolean; /** * * @param {Boolean} interactive */ setInteractive(interactive: boolean): boolean; /** * * @param {Number} layer */ setLayer(layer: number): void; /** * Set the collection of lights. * @param {vtkLight[]} lights */ setLightCollection(lights: vtkLight[]): void; /** * * @param {Boolean} lightFollowCamera */ setLightFollowCamera(lightFollowCamera: boolean): boolean; /** * * @param {Number} maximumNumberOfPeels */ setMaximumNumberOfPeels(maximumNumberOfPeels: number): boolean; /** * * @param {Number} nearClippingPlaneTolerance */ setNearClippingPlaneTolerance(nearClippingPlaneTolerance: number): boolean; /** * * @param {Number} occlusionRatio */ setOcclusionRatio(occlusionRatio: number): boolean; /** * * @param {Number} pass */ setPass(pass: number): boolean; /** * * @param {Boolean} preserveColorBuffer */ setPreserveColorbuffer(preserveColorBuffer: boolean): boolean; /** * * @param {Boolean} preserveDepthBuffer */ setPreserveDepthbuffer(preserveDepthBuffer: boolean): boolean; /** * * @param {Boolean} texturedBackground */ setTexturedBackground(texturedBackground: boolean): boolean; /** * * @param {Boolean} twoSidedLighting */ setTwoSidedLighting(twoSidedLighting: boolean): boolean; /** * * @param {Boolean} useDepthPeeling */ setUseDepthPeeling(useDepthPeeling: boolean): boolean; /** * * @param {Boolean} useShadows */ setUseShadows(useShadows: boolean): boolean; /** * * @param {vtkRenderWindow} renderWindow */ setRenderWindow(renderWindow: vtkRenderWindow): void; /** * * @param {vtkProp3D | null} actor */ removeActor(actor: vtkProp3D | null): void; /** * */ removeAllActors(): void; /** * * @param {vtkVolume} volume */ removeVolume(volume: vtkVolume): void; /** * */ removeAllVolumes(): void; /** * Remove a light from the list of lights. * @param {vtkLight} light The light object to remove. */ removeLight(light: vtkLight): void; /** * Remove all lights from the list of lights. */ removeAllLights(): void; /** * requires the aspect ratio of the viewport as X/Y * @param {Number} x The x coordinate. * @param {Number} y The y coordinate. * @param {Number} z The z coordinate. * @param {Number} aspect */ worldToNormalizedDisplay(x: number, y: number, z: number, aspect: number): number[]; /** * requires the aspect ratio of the viewport as X/Y * @param {Number} x The x coordinate. * @param {Number} y The y coordinate. * @param {Number} z The z coordinate. */ viewToWorld(x: number, y: number, z: number): number[]; /** * Convert world point coordinates to view coordinates. * @param {Number} x The x coordinate. * @param {Number} y The y coordinate. * @param {Number} z The z coordinate. */ worldToView(x: number, y: number, z: number): number[]; /** * Convert world point coordinates to view coordinates. * requires the aspect ratio of the viewport as X/Y * @param {Number} x The x coordinate. * @param {Number} y The y coordinate. * @param {Number} z The z coordinate. * @param {Number} aspect */ viewToProjection(x: number, y: number, z: number, aspect: number): number[]; /** * * @param {Number[]} [bounds] */ resetCamera(bounds?: number[]): boolean; /** * * @param {Number[]} [bounds] */ resetCameraClippingRange(bounds?: number[]): boolean; /** * */ visibleActorCount(): void; /** * Not Implemented yet */ updateGeometry(): any; /** * */ updateCamera(): boolean; /** * Ask the lights in the scene that are not in world space * (for instance, Headlights or CameraLights that are attached to the * camera) to update their geometry to match the active camera. */ updateLightsGeometryToFollowCamera(): void; /** * */ updateLightGeometry(): boolean; /** * Not Implemented yet */ visibleVolumeCount(): any; } /** * Method use to decorate a given object (publicAPI+model) with vtkRenderer characteristics. * * @param publicAPI object on which methods will be bounds (public) * @param model object on which data structure will be bounds (protected) * @param {IRendererInitialValues} [initialValues] (default: {}) */ export function extend(publicAPI: object, model: object, initialValues?: IRendererInitialValues): void; /** * Method use to create a new instance of vtkRenderer. * @param {IRendererInitialValues} [initialValues] for pre-setting some of its content */ export function newInstance(initialValues?: IRendererInitialValues): vtkRenderer; /** * vtkRenderer is a Viewport designed to hold 3D properties. It contains * an instance of vtkCamera, a collection of vtkLights, and vtkActors. It exists * within a RenderWindow. A RenderWindow may have multiple Renderers * representing different viewports of the Window and Renderers can be layered * on top of each other as well. */ export declare const vtkRenderer: { newInstance: typeof newInstance, extend: typeof extend, }; export default vtkRenderer;