UNPKG

@cornerstonejs/core

Version:
93 lines (92 loc) 5.56 kB
import type ICamera from '../../types/ICamera.js'; import type { Point2, Point3, ViewportContentMode } from '../../types/index.js'; import ViewportStatus from '../../enums/ViewportStatus.js'; import type { IRenderingEngine } from '../../types/index.js'; import type { BaseViewportRenderContext, BindingRole, DataAddOptions, DisplaySetId, DataProvider, LoadedData, ViewportDataBinding, RenderPathResolver, ViewportController, ViewportId } from './ViewportArchitectureTypes.js'; import type ViewportType from '../../enums/ViewportType.js'; import type ResolvedViewportView from './ResolvedViewportView.js'; import type { ReferenceCompatibleOptions, ViewReference, ViewReferenceSpecifier, RenderingEngineResizeOptions } from '../../types/IViewport.js'; import { type GenericViewportReferenceContext } from './genericViewportReferenceCompatibility.js'; declare abstract class GenericViewport<TViewState extends object, TDataPresentation = unknown, TContext extends BaseViewportRenderContext = BaseViewportRenderContext> implements ViewportController<TViewState, TDataPresentation> { readonly id: ViewportId; readonly element: HTMLDivElement; abstract readonly type: ViewportType; abstract readonly renderingEngineId: string; viewportStatus: ViewportStatus; protected dataProvider: DataProvider; protected renderPathResolver: RenderPathResolver; protected renderContext: TContext; protected bindings: Map<string, ViewportDataBinding<TDataPresentation>>; protected dataPresentation: Map<string, TDataPresentation>; protected viewState: TViewState; protected isDestroyed: boolean; readonly _debug: { renderModes: Record<string, string>; }; constructor(args: { id: ViewportId; element: HTMLDivElement; }); setDisplaySets(...entries: Array<{ displaySetId: DisplaySetId; options?: unknown; }>): Promise<void>; addDisplaySet(displaySetId: DisplaySetId, options: DataAddOptions): Promise<void>; getDisplaySets(): Array<{ displaySetId: DisplaySetId; options?: unknown; }>; removeData(displaySetId: DisplaySetId): void; setDisplaySetPresentation(props: Partial<TDataPresentation>): void; setDisplaySetPresentation(displaySetId: DisplaySetId, props: Partial<TDataPresentation>): void; getDisplaySetPresentation(displaySetId: DisplaySetId): TDataPresentation | undefined; getCurrentMode(): ViewportContentMode; getViewReference(_specifier?: ViewReferenceSpecifier): ViewReference; getViewReferenceId(_specifier?: ViewReferenceSpecifier): string; setViewReference(_viewReference: ViewReference): void; isReferenceViewable(viewReference: ViewReference, options?: ReferenceCompatibleOptions): boolean; getFrameOfReferenceUID(): string; getRenderingEngine(): IRenderingEngine; abstract getResolvedView(): ResolvedViewportView<unknown, ICamera<unknown>> | undefined; canvasToWorld(canvasPos: Point2): Point3; worldToCanvas(worldPos: Point3): Point2; getAspectRatio(): Point2; setViewState(viewStatePatch: Partial<TViewState>): void; getViewState(): TViewState; updateViewState(updater: Partial<TViewState> | ((viewState: TViewState) => Partial<TViewState> | void)): void; removeWidgets(): void; destroy(): void; dispose(): void; setRendered(): void; setNeedsRender(): void; abstract render(): void; updateRenderingPipeline(): void; resize(): void; resetViewState(_options?: unknown): boolean; resizeForRenderingEngine({ keepCamera, }?: RenderingEngineResizeOptions): void; protected addLoadedData(displaySetId: DisplaySetId, data: LoadedData, options: DataAddOptions, shouldIgnore?: () => boolean): Promise<boolean>; protected removeAllData(): void; protected setDataPresentationState(displaySetId: DisplaySetId, props: TDataPresentation): void; protected getDataPresentationState(displaySetId: DisplaySetId): TDataPresentation | undefined; protected setDefaultDataPresentation(displaySetId: DisplaySetId, defaults: TDataPresentation): TDataPresentation; protected mergeDataPresentation(displaySetId: DisplaySetId, props: Partial<TDataPresentation>): TDataPresentation; protected notifyDataPresentationModified(_displaySetId: DisplaySetId, _props: Partial<TDataPresentation>): void; protected normalizeViewState(viewState: TViewState): TViewState; protected modified(previousCamera?: ICamera): void; protected getCameraForEvent(): ICamera; protected triggerCameraModifiedEvent(previousCamera: ICamera): void; protected triggerCameraResetEvent(): void; protected getBinding(displaySetId: DisplaySetId): ViewportDataBinding<TDataPresentation> | undefined; protected getDisplaySetRenderMode(displaySetId: DisplaySetId): string | undefined; protected getDisplaySetRole(displaySetId: DisplaySetId): BindingRole | undefined; protected getFirstBinding(): ViewportDataBinding<TDataPresentation> | undefined; protected getSourceBinding(): ViewportDataBinding<TDataPresentation> | undefined; protected getCurrentBinding(): ViewportDataBinding<TDataPresentation> | undefined; protected forEachBinding(visitor: (binding: ViewportDataBinding<TDataPresentation>) => void): void; protected getReferenceViewContexts(_viewReference?: ViewReference): GenericViewportReferenceContext[]; protected renderBindings(): boolean; protected resizeBindings(): void; protected destroyBindings(): void; protected onDestroy(): void; } export default GenericViewport;