@kitware/vtk.js
Version:
Visualization Toolkit for the Web
197 lines (170 loc) • 6.02 kB
TypeScript
import { vtkAlgorithm, vtkObject } from './../../interfaces';
import { Vector3 } from './../../types';
export type IGenerateTCoords =
| 'TCOORDS_OFF'
| 'TCOORDS_FROM_SCALARS'
| 'TCOORDS_FROM_LENGTH'
| 'TCOORDS_FROM_NORMALIZED_LENGTH';
/**
*
*/
export interface IRibbonFilterInitialValues {
useDefaultNormal?: boolean;
width?: number;
varyWidth?: boolean;
angle?: number;
generateTCoords?: IGenerateTCoords;
widthFactor?: number;
textureLength?: number;
defaultNormal?: Vector3;
}
type vtkRibbonFilterBase = vtkObject & vtkAlgorithm;
export interface vtkRibbonFilter extends vtkRibbonFilterBase {
/**
* Get the angle (in degrees) of rotation about the line tangent used to
* orient the ribbon.
*/
getAngle(): number;
/**
* Get the default normal used to orient the ribbon when no normals are
* provided in the input.
*/
getDefaultNormal(): Vector3;
/**
* Get the default normal used to orient the ribbon when no normals are
* provided in the input.
*/
getDefaultNormalByReference(): Vector3;
/**
* Get the method used to generate texture coordinates.
*/
getGenerateTCoords(): IGenerateTCoords;
/**
* Get the method used to generate texture coordinates as a string.
*/
getGenerateTCoordsAsString(): string;
/**
* Get the texture length, used when generating texture coordinates from
* length.
*/
getTextureLength(): number;
/**
* Get whether to use the default normal to orient the ribbon when no
* normals are provided in the input.
*/
getUseDefaultNormal(): boolean;
/**
* Get whether to vary the width of the ribbon using scalar data.
*/
getVaryWidth(): boolean;
/**
* Get the width of the ribbon.
*/
getWidth(): number;
/**
* Get the width factor, used to scale the width when varying the width.
*/
getWidthFactor(): number;
/**
*
* @param inData
* @param outData
*/
requestData(inData: any, outData: any): void;
/**
* Set the angle (in degrees) of rotation about the line tangent used to orient the ribbon.
* Default is 0.0.
* @param angle The angle in degrees.
* @returns true if the angle is set successfully.
*/
setAngle(angle: number): boolean;
/**
* Set the default normal used to orient the ribbon when no normals are provided in the input.
* The default normal is a vector defined by three components (x,y,z). The
* default is (0,0,1).
* @param defaultNormal The default normal as an array of three numbers or a Vector3.
* @returns true if the default normal is set successfully.
*/
setDefaultNormal(defaultNormal: Vector3): boolean;
/**
* Set the default normal used to orient the ribbon when no normals are provided in the input.
* The default normal is a vector defined by three components (x,y,z). The
* default is (0,0,1).
* @returns true if the default normal is set successfully.
*/
setDefaultNormalFrom(defaultNormal: Vector3): boolean;
/**
* Set the method used to generate texture coordinates. By default, texture
* coordinates are not generated.
* @param generateTCoords The method to generate texture coordinates.
* @returns true if the method is set successfully.
*/
setGenerateTCoords(generateTCoords: IGenerateTCoords): boolean;
/**
* Set the texture length, used when generating texture coordinates from length.
* The default is 1.0.
* @param textureLength The texture length.
* @returns true if the texture length is set successfully.
*/
setTextureLength(textureLength: number): boolean;
/**
* Set whether to use the default normal to orient the ribbon when no normals are provided in the input.
* The default is false.
* @param useDefaultNormal Whether to use the default normal.
* @returns true if the flag is set successfully.
*/
setUseDefaultNormal(useDefaultNormal: boolean): boolean;
/**
* Set whether to vary the width of the ribbon using scalar data. By default,
* the width of the ribbon is uniform.
* @param varyWidth Whether to vary the width of the ribbon.
* @returns true if the flag is set successfully.
*/
setVaryWidth(varyWidth: boolean): boolean;
/**
* Set the width of the ribbon. The width is the total width of the ribbon;
* the ribbon extends width/2 on either side of the line. The default is 0.5.
* @param width The width of the ribbon.
* @returns true if the width is set successfully.
*/
setWidth(width: number): boolean;
/**
* Set the width factor, used to scale the width when varying the width.
* The default is 1.0.
* @param widthFactor The width factor.
* @returns true if the width factor is set successfully.
*/
setWidthFactor(widthFactor: number): boolean;
}
/**
* Method used to decorate a given object (publicAPI+model) with vtkRibbonFilter characteristics.
*
* @param publicAPI object on which methods will be bounds (public)
* @param model object on which data structure will be bounds (protected)
* @param {IRibbonFilterInitialValues} [initialValues] (default: {})
*/
export function extend(
publicAPI: object,
model: object,
initialValues?: IRibbonFilterInitialValues
): void;
/**
* Method used to create a new instance of vtkRibbonFilter
* @param {IRibbonFilterInitialValues} [initialValues] for pre-setting some of its content
*/
export function newInstance(
initialValues?: IRibbonFilterInitialValues
): vtkRibbonFilter;
/**
* vtkRibbonFilter is a filter to create oriented ribbons from lines defined in
* polygonal dataset. The orientation of the ribbon is along the line segments
* and perpendicular to "projected" line normals. Projected line normals are the
* original line normals projected to be perpendicular to the local line
* segment. An offset angle can be specified to rotate the ribbon with respect
* to the normal.
*/
export declare const vtkRibbonFilter: {
newInstance: typeof newInstance;
extend: typeof extend;
};
export default vtkRibbonFilter;