@itk-viewer/element
Version:
Web Component for multi-dimensional viewer
55 lines • 2.91 kB
TypeScript
import { ReactiveController, ReactiveControllerHost } from 'lit';
import { Subscription } from 'xstate';
import { SelectorController } from 'xstate-lit';
import { View2dActor } from '@itk-viewer/viewer/view-2d.js';
import { View3dActor } from '@itk-viewer/viewer/view-3d.js';
import { AxisType } from '@itk-viewer/viewer/slice-utils.js';
import { TransferFunctionEditor } from '@itk-viewer/transfer-function-editor/TransferFunctionEditor.js';
import { ColorTransferFunction } from '@itk-viewer/transfer-function-editor/ColorTransferFunction.js';
import { Image, ImageSnapshot } from '@itk-viewer/viewer/image.js';
import { View2dVtkjs } from '@itk-viewer/vtkjs/view-2d-vtkjs.machine.js';
import { View3dVtkjs } from '@itk-viewer/vtkjs/view-3d-vtkjs.machine.js';
export type ViewActor = View2dActor | View3dActor;
export type RenderingActor = View3dVtkjs | View2dVtkjs;
type ViewSnapshot = ReturnType<ViewActor['getSnapshot']>;
export declare class ViewControls implements ReactiveController {
host: ReactiveControllerHost;
actor: ViewActor | undefined;
viewSubscription: Subscription | undefined;
imageSubscription: Subscription | undefined;
imageActor: Image | undefined;
renderer: RenderingActor | undefined;
rendererSubscription: Subscription | undefined;
scale: SelectorController<View2dActor, number> | undefined;
scaleCount: SelectorController<View2dActor, number> | undefined;
slice: SelectorController<View2dActor, number> | undefined;
axis: SelectorController<View2dActor, AxisType> | undefined;
imageDimension: SelectorController<View2dActor, number> | undefined;
colorMapsOptions: SelectorController<RenderingActor, Record<string, string>> | undefined;
colorMaps: SelectorController<Image, string[]> | undefined;
componentCount: SelectorController<Image, number> | undefined;
selectedComponent: number;
transferFunctionEditor: TransferFunctionEditor | undefined;
view: '2d' | '3d';
colorTransferFunctions: Map<number, ColorTransferFunction>;
constructor(host: ReactiveControllerHost);
hostConnected(): void;
setActor(actor: ViewActor): void;
onSlice: (event: Event) => void;
onAxis: (event: Event) => void;
onScale: (event: Event) => void;
onSelectedComponent: (component: number) => void;
onColorMap: (colorMap: string) => void;
setTransferFunctionContainer: (container: Element | undefined) => void;
onViewSnapshot: (snapshot: ViewSnapshot) => void;
onImageActorSnapshot: (snapshot: ImageSnapshot) => void;
setView: (view: "2d" | "3d") => void;
updateTransferFunctionEditor: () => void;
updateColorTransferFunction: () => void;
onColorTransferFunction: ({ colorTransferFunction, component, }: {
colorTransferFunction: ColorTransferFunction;
component: number;
}) => void;
}
export {};
//# sourceMappingURL=view-controls-controller.d.ts.map