@kitware/vtk.js
Version:
Visualization Toolkit for the Web
403 lines (352 loc) • 9.94 kB
TypeScript
import { vtkObject } from './../../interfaces';
import { ColorMode } from './../../Rendering/Core/Mapper/Constants';
import { Range } from './../../types';
import vtkDataArray from './DataArray';
import { ScalarMappingTarget, VectorMode } from './ScalarsToColors/Constants';
/**
*
*/
export interface IScalarsToColorsInitialValues {
alpha?: number;
vectorComponent?: number;
vectorSize?: number;
indexedLookup?: boolean;
}
export interface vtkScalarsToColors extends vtkObject {
/**
* Perform any processing required (if any) before processing scalars.
*/
build(): void;
/**
*
* @param value
*/
checkForAnnotatedValue(value: any): number;
/**
*
* @param colors
* @param numComp
* @param numTuples
*/
convertToRGBA(colors: any, numComp: number, numTuples: number): void;
/**
* Specify an additional opacity (alpha) value to blend with.
*/
getAlpha(): number;
/**
*
* @param {Number} idx
*/
getAnnotatedValue(idx: number): void;
/**
*
* @param val
*/
getAnnotatedValueIndex(val: any): number;
/**
* An unsafe version of vtkScalarsToColors.checkForAnnotatedValue for
* internal use (no pointer checks performed)
* @param value
*/
getAnnotatedValueIndexInternal(value: any): number;
/**
*
* @param {Number} idx
*/
getAnnotation(idx: number): string;
/**
*
* @param val
* @param rgba
*/
getAnnotationColor(val: any, rgba: any): void;
/**
*
* @param val
* @param rgba
*/
getIndexedColor(val: number, rgba: any): void;
/**
*
*/
getIndexedLookup(): boolean;
/**
*
*/
getMappingRange(): Range;
/**
*
*/
getMappingRangeByReference(): Range;
/**
* Return the annotated value at a particular index in the list of annotations.
*/
getNumberOfAnnotatedValues(): number;
/**
* Get the number of available colors for mapping to.
*/
getNumberOfAvailableColors(): number;
/**
*
*/
getRange(): Range;
/**
* Get which component of a vector to map to colors.
*/
getVectorComponent(): number;
/**
*
*/
getVectorMode(): VectorMode;
/**
*
*/
getVectorSize(): number;
/**
* @see areScalarsOpaque
*/
isOpaque(): boolean;
/**
* Returns false if scalars are Uint8 LA or RGBA with A < 255,
* otherwise rely on getAlpha() in case of direct mapping,
* otherwise return isOpaque()
*
* @see isOpaque, getAlpha
*
* @param {vtkDataArray} scalars
* @param {ColorMode} colorMode
* @param {Number} componentIn
*
*/
areScalarsOpaque(
scalars: vtkDataArray,
colorMode: ColorMode,
componentIn: number
): boolean;
/**
*
* @param newColors
* @param colors
* @param {Number} alpha
* @param convtFun
*/
luminanceAlphaToRGBA(
newColors: any,
colors: any,
alpha: number,
convtFun: any
): void;
/**
*
* @param newColors
* @param colors
* @param {Number} alpha
* @param convtFun
*/
luminanceToRGBA(
newColors: any,
colors: any,
alpha: number,
convtFun: any
): void;
/**
* Internal methods that map a data array into a 4-component, unsigned char
* RGBA array. The color mode determines the behavior of mapping. If
* ColorMode.DEFAULT is set, then unsigned char data arrays are treated as
* colors (and converted to RGBA if necessary); If ColorMode.DIRECT_SCALARS
* is set, then all arrays are treated as colors (integer types are clamped
* in the range 0-255, floating point arrays are clamped in the range
* 0.0-1.0. Note 'char' does not have enough values to represent a color so
* mapping this type is considered an error); otherwise, the data is mapped
* through this instance of ScalarsToColors. The component argument is used
* for data arrays with more than one component; it indicates which
* component to use to do the blending. When the component argument is -1,
* then the this object uses its own selected technique to change a vector
* into a scalar to map.
* @param scalars
* @param {ColorMode} colorMode
* @param {Number} componentIn
*/
mapScalars(scalars: any, colorMode: ColorMode, componentIn: number): void;
/**
* Map a set of vector values through the table
* @param input
* @param output
* @param {ScalarMappingTarget} outputFormat
* @param vectorComponentIn
* @param {Number} vectorSizeIn
*/
mapVectorsThroughTable(
input: any,
output: any,
outputFormat: ScalarMappingTarget,
vectorComponentIn: number,
vectorSizeIn: number
): void;
/**
*
* @param input
* @param output
* @param {Number} compsToUse
*/
mapVectorsToMagnitude(input: any, output: any, compsToUse: number): void;
/**
*
* @param newColors
* @param colors
* @param {Number} alpha
* @param convtFun
*/
rGBAToRGBA(newColors: any, colors: any, alpha: number, convtFun: any): void;
/**
*
* @param newColors
* @param colors
* @param {Number} alpha
* @param convtFun
*/
rGBToRGBA(newColors: any, colors: any, alpha: number, convtFun: any): void;
/**
* Remove an existing entry from the list of annotated values.
* @param value
*/
removeAnnotation(value: any): boolean;
/**
* Remove all existing values and their annotations.
*/
resetAnnotations(): void;
/**
*
* @param {Number} alpha
*/
setAlpha(alpha: number): boolean;
/**
*
* @param value
* @param annotation
*/
setAnnotation(value: any, annotation: any): number;
/**
*
* @param values
* @param annotations
*/
setAnnotations(values: any, annotations: any): void;
/**
*
* @param {Boolean} indexedLookup
*/
setIndexedLookup(indexedLookup: boolean): boolean;
/**
*
* @param {Range} mappingRange
*/
setMappingRange(mappingRange: Range): boolean;
/**
*
* @param {Number} min
* @param {Number} max
*/
setMappingRange(min: number, max: number): boolean;
/**
*
* @param {Range} mappingRange
*/
setMappingRangeFrom(mappingRange: Range): boolean;
/**
*
* @param {Number} min
* @param {Number} max
*/
setRange(min: number, max: number): boolean;
/**
* If the mapper does not select which component of a vector to map to
* colors, you can specify it here.
* @param {Number} vectorComponent The value of the vector mode.
*/
setVectorComponent(vectorComponent: number): boolean;
/**
* Change mode that maps vectors by magnitude vs. component. If the mode is
* "RGBColors", then the vectors components are scaled to the range and
* passed directly as the colors.
* @param {VectorMode} vectorMode The value of the vector mode.
*/
setVectorMode(vectorMode: VectorMode): boolean;
/**
* Set vectorMode to `VectorMode.MAGNITUDE`
*/
setVectorModeToMagnitude(): boolean;
/**
* Set vectorMode to `VectorMode.COMPONENT`
*/
setVectorModeToComponent(): boolean;
/**
* When mapping vectors, consider only the number of components selected by
* `vectorSize` to be part of the vector, and ignore any other components. Set
* to -1 to map all components. If this is not set to -1, then you can use
* `setVectorComponent` to set which scalar component will be the first
* component in the vector to be mapped.
*/
setVectorModeToRGBColors(): boolean;
/**
* When mapping vectors, consider only the number of components selected by
* VectorSize to be part of the vector, and ignore any other components.
* @param {Number} vectorSize The value of the vectorSize.
*/
setVectorSize(vectorSize: number): boolean;
/**
* Update the map from annotated values to indices in the array of annotations.
*/
updateAnnotatedValueMap(): boolean;
/**
*
*/
usingLogScale(): boolean;
}
/**
* Method used to decorate a given object (publicAPI+model) with vtkScalarsToColors characteristics.
*
* @param publicAPI object on which methods will be bounds (public)
* @param model object on which data structure will be bounds (protected)
* @param {IScalarsToColorsInitialValues} [initialValues] (default: {})
*/
export function extend(
publicAPI: object,
model: object,
initialValues?: IScalarsToColorsInitialValues
): void;
/**
* Method used to create a new instance of vtkScalarsToColors
* @param {IScalarsToColorsInitialValues} [initialValues] for pre-setting some of its content
*/
export function newInstance(
initialValues?: IScalarsToColorsInitialValues
): vtkScalarsToColors;
/**
* vtkScalarsToColors is a general-purpose base class for objects that convert
* scalars to colors. This include vtkLookupTable classes and color transfer
* functions. By itself, this class will simply rescale the scalars.
*
* The scalar-to-color mapping can be augmented with an additional uniform alpha
* blend. This is used, for example, to blend a vtkActor's opacity with the
* lookup table values.
*
* Specific scalar values may be annotated with text strings that will be
* included in color legends using `setAnnotations`, `setAnnotation`,
* `getNumberOfAnnotatedValues`, `getAnnotatedValue`, `getAnnotation`,
* `removeAnnotation`, and `resetAnnotations`.
*
* This class also has a method for indicating that the set of annotated values
* form a categorical color map; by setting IndexedLookup to true, you indicate
* that the annotated values are the only valid values for which entries in the
* color table should be returned. In this mode, subclasses should then assign
* colors to annotated values by taking the modulus of an annotated value's
* index in the list of annotations with the number of colors in the table.
*/
export declare const vtkScalarsToColors: {
newInstance: typeof newInstance;
extend: typeof extend;
VectorMode: typeof VectorMode;
ScalarMappingTarget: typeof VectorMode;
};
export default vtkScalarsToColors;