import '../../stencil.core'; import { EventEmitter } from '../../stencil.core'; import { Store, Action } from '@stencil/redux'; import { Mode } from '../../enums/Mode'; import { Orientation } from '../../enums/Orientation'; import { ToolType } from '../../enums/ToolType'; export declare class AMIViewer { private _canvasContainer; private _camera; private _renderer; private _controls; private _scene; private _loadedDataParent; private _boundingBoxHelper; private _renderQuality; private _activeWidgets; private _lastTime; private _deltaTime; private _widgetMouseUpHandler; private _widgetMouseMoveHandler; private _widgetMouseDownHandler; private _reduceActive; private _setActive; /** * if the display mode changes (see @watch decorator) * this is set to true and the * 3D scene is rebuilt onComponentWillUpdate */ private _displayChanged; private _lutCanvases; private _lut; /** * VolumeHelper in volume display mode * StackHelper in slices display mode * Null in Mesh display mode */ private _stackhelper; private _stack; /** * Null in Volume Mode * Null in Slices Mode * Object3D in Mesh Mode */ private _meshObject; private _widgets; private _requestAnimationFrame; private _widgetRaycaster; private _maxEdgeDistance; private _sceneCenter; store: Store; dracoDecoderPath: string | null; src: string | null; srcLoaded: boolean; watchSrcLoaded(): void; display: Mode; watchDisplay(): void; orientation: Orientation; watchOrientation(): void; toolsVisible: boolean; toolsEnabled: boolean; toolType: ToolType; optionsVisible: boolean; optionsEnabled: boolean; boundingBoxVisible: boolean; THREEJSSceneNeedsUpdate: boolean; slicesIndex: number; slicesWindowWidth: number; slicesWindowCenter: number; volumeSteps: number; volumeWindowWidth: number; volumeWindowCenter: number; angleToolEnabled: number; annotationToolEnabled: number; rulerToolEnabled: number; appSetSrc: Action; appSetSrcLoaded: Action; appSetDisplay: Action; appSetOrientation: Action; appSetToolsVisible: Action; appSetToolsEnabled: Action; appSetToolType: Action; appSetOptionsVisible: Action; appSetOptionsEnabled: Action; appSetBoundingBoxVisible: Action; appSetTHREEJSSceneNeedsUpdate: Action; appSetSlicesIndex: Action; appSetSlicesWindowWidth: Action; appSetSlicesWindowCenter: Action; appSetVolumeSteps: Action; appSetVolumeWindowWidth: Action; appSetVolumeWindowCenter: Action; appSetAngleToolEnabled: Action; appSetAnnotationToolEnabled: Action; appSetRulerToolEnabled: Action; setSrc(src: string): Promise; setToolsVisible(visible: boolean): Promise; setOptionsVisible(visible: boolean): Promise; setDisplay(display: string): Promise; setBoundingBoxVisible(visible: boolean): Promise; setAngleToolEnabled(enabled: boolean): Promise; setAnnotationToolEnabled(enabled: boolean): Promise; setRulerToolEnabled(enabled: boolean): Promise; onLoaded: EventEmitter; componentWillLoad(): void; componentDidLoad(): void; componentWillUpdate(): void; renderContainer(): JSX.Element; renderDisplayToggle(): JSX.Element; renderToolsToggle(): JSX.Element; renderTools(): JSX.Element; renderOptionsToggle(): JSX.Element; renderBoundingBoxEnabled(): JSX.Element; renderOptions(): JSX.Element; private _slicesIndexChanged; private _slicesWindowCenterChanged; private _slicesWindowWidthChanged; private _volumeStepsChanged; private _volumeWindowCenterChanged; private _volumeWindowWidthChanged; renderControlPanel(): JSX.Element; renderLoading(): JSX.Element; render(): JSX.Element; componentDidUpdate(): void; private _createWidgetFromRay; private _resetWidgets; private _widgetMouseUp; private _widgetMouseMove; private _widgetMouseDown; private _flushWidgets; private _createRenderer; private _createControls; private _onControlsChange; private _onControlsStart; private _onControlsEnd; private _resetPixelDensity; private _reducePixelDensity; private _updateWidgets; private _animate; resize(): void; private _resizeWidgets; }