UNPKG

@kitware/vtk.js

Version:

Visualization Toolkit for the Web

488 lines (414 loc) 9.67 kB
import { vtkObject } from './../../interfaces' ; import { IFieldDataInitialValues, vtkFieldData } from './DataSetAttributes/FieldData'; import vtkDataArray from './../Core/DataArray'; export enum AttributeTypes { SCALARS, VECTORS, NORMALS, TCOORDS, TENSORS, GLOBALIDS, PEDIGREEIDS, EDGEFLAG, NUM_ATTRIBUTES, } export enum AttributeLimitTypes { MAX, EXACT, NOLIMIT, } export enum CellGhostTypes { /** * The cell is present on multiple processors */ DUPLICATECELL, /** * The cell has more neighbors than in a regular mesh */ HIGHCONNECTIVITYCELL, /** * The cell has less neighbors than in a regular mesh */ LOWCONNECTIVITYCELL, /** * Tther cells are present that refines it. */ REFINEDCELL, /** * The cell is on the exterior of the data set */ EXTERIORCELL, /** * The cell is needed to maintain connectivity, but the data values should be ignored. */ HIDDENCELL, } export enum PointGhostTypes { /** * The cell is present on multiple processors */ DUPLICATEPOINT, /** * The point is needed to maintain connectivity, but the data values should be ignored. */ HIDDENPOINT } export enum AttributeCopyOperations { COPYTUPLE, INTERPOLATE, PASSDATA, /** * All of the above */ ALLCOPY, } export const ghostArrayName: string; export enum DesiredOutputPrecision { /** * Use the point type that does not truncate any data */ DEFAULT, /** * Use Float32Array */ SINGLE, /** * Use Float64Array */ DOUBLE, } /** * */ export interface IDataSetAttributesInitialValues extends IFieldDataInitialValues { activeScalars?: number; activeVectors?: number; activeTensors?: number; activeNormals?: number; activeTCoords?: number; activeGlobalIds?: number; activePedigreeIds?: number; } export interface vtkDataSetAttributes extends vtkFieldData { /** * @todo No yet Implemented * @param x */ checkNumberOfComponents(x: any): boolean; /** * * @param {string} attType */ getActiveAttribute(attType: string): any; /** * Get a list of attribute names that the given array * is for this vtkDataSetAttributes. * @param {vtkDataArray} arr * @returns {String[]} */ getAttributes(arr: vtkDataArray): string[]; /** * */ getActiveScalars(): number; /** * */ getActiveVectors(): number; /** * */ getActiveTensors(): number; /** * */ getActiveNormals(): number; /** * */ getActiveTCoords(): number; /** * */ getActiveGlobalIds(): number; /** * */ getActivePedigreeIds(): number; /** * Get the scalar data. */ getScalars(): vtkDataArray; /** * Get the vectors data. */ getVectors(): vtkDataArray; /** * Get the normal data. */ getNormals(): vtkDataArray; /** * Get the texture coordinate data. */ getTCoords(): vtkDataArray; /** * Get the tensors data. */ getTensors(): vtkDataArray; /** * Get the global id data. */ getGlobalIds(): vtkDataArray; /** * Get the pedigree id data. */ getPedigreeIds(): vtkDataArray; /** * * @param arr * @param uncleanAttType */ setAttribute(arr: any, uncleanAttType: string): number; /** * * @param {string} arrayName * @param attType */ setActiveAttributeByName(arrayName: string, attType: any): number; /** * * @param {Number} arrayIdx * @param uncleanAttType */ setActiveAttributeByIndex(arrayIdx: number, uncleanAttType: string): number; /** * Override to allow proper handling of active attributes */ removeAllArrays(): void; /** * Override to allow proper handling of active attributes * @param {string} arrayName The name of the array. */ removeArray(arrayName: string): void; /** * Override to allow proper handling of active attributes * @param {Number} arrayIdx The index of the array. */ removeArrayByIndex(arrayIdx: number): void; /** * */ initializeAttributeCopyFlags(): void; /** * * @param {Number} activeScalars */ setActiveScalars(activeScalars: number): boolean; /** * * @param {Number} activeVectors */ setActiveVectors(activeVectors: number): boolean; /** * * @param {Number} activeTensors */ setActiveTensors(activeTensors: number): boolean; /** * * @param {Number} activeNormals */ setActiveNormals(activeNormals: number): boolean; /** * * @param {Number} activeTCoords */ setActiveTCoords(activeTCoords: number): boolean; /** * * @param {Number} activeGlobalIds */ setActiveGlobalIds(activeGlobalIds: number): boolean; /** * * @param {Number} activePedigreeIds */ setActivePedigreeIds(activePedigreeIds: number): boolean; /** * Try to copy the state of the other to ourselves by just using references. * * @param other instance to copy the reference from * @param debug (default: false) if true feedback will be provided when mismatch happen * @override */ shallowCopy(other: vtkObject, debug?: boolean): void; /** * * @param {string} arrayName The name of the array to activate. */ setActiveScalars(arrayName: string): boolean; /** * * @param {string} arrayName The name of the array to activate. */ setActiveVectors(arrayName: string): boolean; /** * * @param {string} arrayName The name of the array to activate. */ setActiveNormals(arrayName: string): boolean; /** * * @param {string} arrayName The name of the array to activate. */ setActiveTCoords(arrayName: string): boolean; /** * * @param {string} arrayName The name of the array to activate. */ setActiveTensors(arrayName: string): boolean; /** * * @param {string} arrayName The name of the array to activate. */ setActiveGlobalIds(arrayName: string): boolean; /** * * @param {string} arrayName The name of the array to activate. */ setActivePedigreeIds(arrayName: string): boolean; /** * Set the scalar data. * @param {vtkDataArray} scalars The scalar data. */ setScalars(scalars: vtkDataArray): boolean; /** * Set the vector data. * @param {vtkDataArray} vectors The vector data. */ setVectors(vectors: vtkDataArray): boolean; /** * Set the normal data. * @param {vtkDataArray} normals The normal data. */ setNormals(normals: vtkDataArray): boolean; /** * Set the texture coordinate data. * @param {vtkDataArray} tcoords The texture coordinate data. */ setTCoords(tcoords: vtkDataArray): boolean; /** * Set the tensor data. * @param {vtkDataArray} tensors The tensor data. */ setTensors(tensors: vtkDataArray): boolean; /** * Set the global id data. * @param {vtkDataArray} globalIds The global id data. */ setGlobalIds(globalIds: vtkDataArray): boolean; /** * Set the pedigree id data. * @param {vtkDataArray} pedigreeids The pedigree id data. */ setPedigreeIds(pedigreeIds: vtkDataArray): boolean; /** * */ copyScalarsOn(): void; /** * */ copyVectorsOn(): void; /** * */ copyNormalsOn(): void; /** * */ copyTCoordsOn(): void; /** * */ copyTensorsOn(): void; /** * */ copyGlobalIdsOn(): void; /** * */ copyPedigreeIdsOn(): void; /** * */ copyScalarsOff(): void; /** * */ copyVectorsOff(): void; /** * */ copyNormalsOff(): void; /** * */ copyTCoordsOff(): void; /** * */ copyTensorsOff(): void; /** * */ copyGlobalIdsOff(): void; /** * */ copyPedigreeIdsOff(): void; } /** * Method used to decorate a given object (publicAPI+model) with vtkDataSetAttributes characteristics. * * @param publicAPI object on which methods will be bounds (public) * @param model object on which data structure will be bounds (protected) * @param {IDataSetAttributesInitialValues} [initialValues] (default: {}) */ export function extend(publicAPI: object, model: object, initialValues?: IDataSetAttributesInitialValues): void; /** * Method used to create a new instance of vtkDataSetAttributes. * @param {IDataSetAttributesInitialValues} [initialValues] for pre-setting some of its content */ export function newInstance(initialValues?: IDataSetAttributesInitialValues): vtkDataSetAttributes; /** * vtkDataSetAttributes is a class that is used to represent and manipulate * attribute data (e.g., scalars, vectors, normals, texture coordinates, * tensors, global ids, pedigree ids, and field data). * * This adds to vtkFieldData the ability to pick one of the arrays from the * field as the currently active array for each attribute type. In other words, * you pick one array to be called "THE" Scalars, and then filters down the * pipeline will treat that array specially. For example vtkContourFilter will * contour "THE" Scalar array unless a different array is asked for. * * Additionally vtkDataSetAttributes provides methods that filters call to pass * data through, copy data into, and interpolate from Fields. PassData passes * entire arrays from the source to the destination. Copy passes through some * subset of the tuples from the source to the destination. Interpolate * interpolates from the chosen tuple(s) in the source data, using the provided * weights, to produce new tuples in the destination. Each attribute type has * pass, copy and interpolate "copy" flags that can be set in the destination to * choose which attribute arrays will be transferred from the source to the * destination. * * Finally this class provides a mechanism to determine which attributes a group * of sources have in common, and to copy tuples from a source into the * destination, for only those attributes that are held by all. */ export declare const vtkDataSetAttributes: { newInstance: typeof newInstance, extend: typeof extend, }; export default vtkDataSetAttributes;