@kitware/vtk.js
Version:
Visualization Toolkit for the Web
236 lines (209 loc) • 7.07 kB
TypeScript
import {
vtkAbstractMapper3D,
IAbstractMapper3DInitialValues,
} from './AbstractMapper3D';
import { vtkImageData } from './../../Common/DataModel/ImageData';
import { Bounds, Extent, Nullable, RGBAColor } from './../../types';
export interface IAbstractImageMapperInitialValues
extends IAbstractMapper3DInitialValues {
customDisplayExtent?: number[];
useCustomExtents?: boolean;
slice?: number;
backgroundColor?: RGBAColor;
colorTextureWidth?: number;
opacityTextureWidth?: number;
labelOutlineTextureWidth?: number;
}
export interface vtkAbstractImageMapper extends vtkAbstractMapper3D {
/**
*
*/
getIsOpaque(): boolean;
/**
* Return currently active image for the mapper. Overridden by deriving classes.
*/
getCurrentImage(): Nullable<vtkImageData>;
/**
* Get the slice index.
*/
getSlice(): number;
/**
*
* @param {Number} slice The slice index.
*/
setSlice(slice: number): boolean;
/**
* Get bounds for a specified slice.
* To be implemented by derived classes.
* @param {Number} slice The slice index. If undefined, the current slice is considered.
* @param {Number} thickness The slice thickness. If undefined, 0 is considered.
*/
getBoundsForSlice(slice?: number, thickness?: number): Bounds;
/**
* Return the currently set background color.
*/
getBackgroundColor(): RGBAColor;
/**
* Return the currently set background color.
*/
getBackgroundColorByReference(): RGBAColor;
/**
* @param r red component of background color
* @param g green component of background color
* @param b blue component of background color
* @param a opacity component of background color
*/
setBackgroundColor(r: number, g: number, b: number, a: number): boolean;
/**
*
* @param color specify background color as an array of 4 values.
*/
setBackgroundColor(color: RGBAColor): boolean;
/**
*
* @param {RGBAColor} color specify the background color to use
* in RGBA format as an array of 4 values. Values are copied.
*/
setBackgroundColorFrom(color: RGBAColor): boolean;
/**
*
*/
getUseCustomExtents(): boolean;
/**
*
* @param {Boolean} useCustomExtents
*/
setUseCustomExtents(useCustomExtents: boolean): boolean;
/**
*
*/
getCustomDisplayExtent(): Extent;
/**
*
*/
getCustomDisplayExtentByReference(): Extent;
/**
*
* @param {Number} x1 The x coordinate of the first point.
* @param {Number} x2 The x coordinate of the second point.
* @param {Number} y1 The y coordinate of the first point.
* @param {Number} y2 The y coordinate of the second point.
* @param {Number} z1 The z coordinate of the first point.
* @param {Number} z2 The z coordinate of the second point.
*/
setCustomDisplayExtent(
x1: number,
x2: number,
y1: number,
y2: number,
z1: number,
z2: number
): boolean;
/**
*
* @param extents specify extents as an array of 6 values [minx, maxx, ...]
*/
setCustomDisplayExtent(customDisplayExtent: Extent): boolean;
/**
*
* @param customDisplayExtent
*/
setCustomDisplayExtentFrom(customDisplayExtent: number[]): boolean;
/**
* Set the opacity texture width.
*
* The default width (1024) should be fine in most instances.
* Only set this property if your opacity function range width is
* larger than 1024.
*
* A reasonable max texture size would be either 2048 or 4096, as those
* widths are supported by the vast majority of devices. Any width larger
* than that will have issues with device support.
*
* Specifying a width that is less than or equal to 0 will use the largest
* possible texture width on the device. Use this with caution! The max texture
* width of one device may not be the same for another device.
*
* You can find more information about supported texture widths at the following link:
* https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE
*
* @param {Number} width the texture width (defaults to 1024)
*/
setOpacityTextureWidth(width: number): boolean;
/**
* Get the opacity texture width.
*/
getOpacityTextureWidth(): number;
/**
* Set the color texture width.
*
* The default width (1024) should be fine in most instances.
* Only set this property if your color transfer function range width is
* larger than 1024.
*
* A reasonable max texture size would be either 2048 or 4096, as those
* widths are supported by the vast majority of devices. Any width larger
* than that will have issues with device support.
*
* Specifying a width that is less than or equal to 0 will use the largest
* possible texture width on the device. Use this with caution! The max texture
* width of one device may not be the same for another device.
*
* You can find more information about supported texture widths at the following link:
* https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE
*
* @param {Number} width the texture width (defaults to 1024)
*/
setColorTextureWidth(width: number): boolean;
/**
* Get the color texture width.
*/
getColorTextureWidth(): number;
/**
* Set the label outline texture width.
*
* The default width (1024) should be fine in most instances.
* Only set this property if you have more than 1024 labels
* that you want to render with thickness.
*
* A reasonable max texture size would be either 2048 or 4096, as those
* widths are supported by the vast majority of devices. Any width larger
* than that will have issues with device support.
*
* Specifying a width that is less than or equal to 0 will use the largest
* possible texture width on the device. Use this with caution! The max texture
* width of one device may not be the same for another device.
*
* You can find more information about supported texture widths at the following link:
* https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE
*
* @param {Number} width the texture width (defaults to 1024)
*/
setLabelOutlineTextureWidth(width: number): boolean;
/**
* Get the label outline texture width.
*/
getLabelOutlineTextureWidth(): number;
}
/**
* Method use to decorate a given object (publicAPI+model) with vtkAbstractImageMapper characteristics.
*
* @param publicAPI object on which methods will be bounds (public)
* @param model object on which data structure will be bounds (protected)
* @param {IAbstractImageMapperInitialValues} [initialValues] (default: {})
*/
export function extend(
publicAPI: object,
model: object,
initialValues?: IAbstractImageMapperInitialValues
): void;
/**
* vtkImageMapper provides 2D image display support for vtk.
* It can be associated with a vtkImageSlice prop and placed within a Renderer.
*
* This class resolves coincident topology with the same methods as vtkMapper.
*/
export declare const vtkAbstractImageMapper: {
extend: typeof extend;
};
export default vtkAbstractImageMapper;