@cornerstonejs/core
Version:
Cornerstone3D Core
93 lines (92 loc) • 5.56 kB
TypeScript
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;