@kitware/vtk.js
Version:
Visualization Toolkit for the Web
163 lines (139 loc) • 4.23 kB
TypeScript
import { vtkObject } from './../../interfaces';
import { Nullable } from './../../types';
export interface ICellLinksInitialValues {}
/**
* Link record for a point: number of incident cells and their ids.
*/
export interface ICellLink {
/**
* Number of cells using the point.
*/
ncells: number;
/**
* Cell ids that use the point.
*/
cells: Nullable<number[]>;
}
export interface vtkCellLinks extends vtkObject {
/**
* Build the link list array from the input dataset.
* The resulting structure maps each point id to the cells that reference it.
*/
buildLinks(data: any): void;
/**
* Allocate storage for a number of links (typically the number of points).
* @param {Number} numLinks Number of point links to allocate.
* @param {Number} [extSize=1000] Growth factor used for future extensions.
*/
allocate(numLinks: number, extSize?: number): void;
/**
* Allocate per-point cell-id arrays based on precomputed link counts.
* @param {Number} n Number of links (points).
*/
allocateLinks(n: number): void;
/**
* Clear out previously allocated link structures.
*/
initialize(): void;
/**
* Get the full link structure for a point id.
* @param {Number} ptId Point id.
*/
getLink(ptId: number): ICellLink;
/**
* Get the number of cells using the point.
* @param {Number} ptId Point id.
*/
getNcells(ptId: number): number;
/**
* Return the list of cell ids that use the point.
* @param {Number} ptId Point id.
*/
getCells(ptId: number): Nullable<number[]>;
/**
* Insert a new point entry into the links structure.
* @param {Number} numLinks Initial size of the point's cell-id list.
*/
insertNextPoint(numLinks: number): void;
/**
* Append a cell id to the point's cell-id list.
* @param {Number} ptId Point id.
* @param {Number} cellId Cell id.
*/
insertNextCellReference(ptId: number, cellId: number): void;
/**
* Delete a point by removing all links to using cells.
* @param {Number} ptId Point id.
*/
deletePoint(ptId: number): void;
/**
* Remove the reference from a point to a cell.
* @param {Number} cellId Cell id.
* @param {Number} ptId Point id.
*/
removeCellReference(cellId: number, ptId: number): void;
/**
* Add a reference from a point to a cell.
* @param {Number} cellId Cell id.
* @param {Number} ptId Point id.
*/
addCellReference(cellId: number, ptId: number): void;
/**
* Resize a point's cell-id list.
* @param {Number} ptId Point id.
* @param {Number} size New list size.
*/
resizeCellList(ptId: number, size: number): void;
/**
* Reclaim unused memory.
*/
squeeze(): void;
/**
* Reset to an empty state without freeing memory.
*/
reset(): void;
/**
* Deep-copy from another cell-links instance.
* @param src Source object.
*/
deepCopy(src: any): void;
/**
* Increment the count of cells using a point.
* @param {Number} ptId Point id.
*/
incrementLinkCount(ptId: number): void;
/**
* Insert a cell id into a point's cell-id list at a specific position.
* @param {Number} ptId Point id.
* @param {Number} pos Position inside the point's list.
* @param {Number} cellId Cell id.
*/
insertCellReference(ptId: number, pos: number, cellId: number): void;
}
/**
* Method used to decorate a given object (publicAPI+model) with vtkCellLinks characteristics.
*
* @param publicAPI object on which methods will be bounds (public)
* @param model object on which data structure will be bounds (protected)
* @param {ICellLinksInitialValues} [initialValues] (default: {})
*/
export function extend(
publicAPI: object,
model: object,
initialValues?: ICellLinksInitialValues
): void;
/**
* Method used to create a new instance of vtkCellLinks.
* @param {ICellLinksInitialValues} [initialValues] for pre-setting some of its content
*/
export function newInstance(
initialValues?: ICellLinksInitialValues
): vtkCellLinks;
/**
* vtkCellLinks maps each point to the cells that reference it.
*/
export declare const vtkCellLinks: {
newInstance: typeof newInstance;
extend: typeof extend;
};
export default vtkCellLinks;