Class: VideoGenericViewport
Generic GenericViewport controller.
The base class owns only shared viewport state and binding orchestration: loaded logical data, mounted renderings, view state, and per-dataset render-state forwarding. It does not know how CPU, VTK, DOM, image, volume, or media runtimes work internally.
Concrete viewport families are expected to stay thin and provide:
- a render context for their render paths
- a data provider
- a render path resolver when the default is not enough
- viewport-family-specific public APIs
Concrete render paths are expected to own:
- runtime add/remove lifecycle
- view-state interpretation for that render path
- per-dataset render-state application
- render-path-specific coordinate transforms
This split keeps migration from legacy viewports incremental without centralizing render-mode-specific behavior in the controller.
Extends
GenericViewport<VideoViewState,VideoDataPresentation,VideoElementRenderContext>
Constructors
new VideoGenericViewport()
new VideoGenericViewport(
args):VideoGenericViewport
Parameters
• args: VideoViewportInput
Returns
Overrides
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:57
Properties
_debug
readonly_debug:object
renderModes
renderModes:
Record<string,string>
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:85
bindings
protectedbindings:Map<string,ViewportDataBinding<VideoDataPresentation>>
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:75
dataPresentation
protecteddataPresentation:Map<string,VideoDataPresentation>
Inherited from
GenericViewport.dataPresentation
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:79
dataProvider
protecteddataProvider:DataProvider<object,unknown>
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:71
element
readonlyelement:HTMLDivElement
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:64
id
readonlyid:string
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:63
isDestroyed
protectedisDestroyed:boolean=false
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:81
renderContext
protectedrenderContext:VideoElementRenderContext
Overrides
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:45
renderingEngineId
readonlyrenderingEngineId:string
Overrides
GenericViewport.renderingEngineId
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:43
renderPathResolver
protectedrenderPathResolver:RenderPathResolver
Inherited from
GenericViewport.renderPathResolver
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:72
type
readonlytype:VIDEO_NEXT=ViewportType.VIDEO_NEXT
Overrides
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:42
viewportStatus
viewportStatus:
ViewportStatus=ViewportStatus.NO_DATA
Inherited from
GenericViewport.viewportStatus
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:67
viewState
protectedviewState:VideoViewState
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:80
Accessors
useCustomRenderingPipeline
getstaticuseCustomRenderingPipeline():boolean
Returns
boolean
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:51
Methods
addDisplaySet()
addDisplaySet(
displaySetId,options):Promise<void>
Loads a logical display set through the viewport data provider and adds it through the render-path resolver.
Parameters
• displaySetId: string
• options: DataAddOptions
Returns
Promise<void>
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:128
addLoadedData()
protectedaddLoadedData(displaySetId,data,options,shouldIgnore?):Promise<boolean>
Converts loaded logical data into a mounted rendering binding.
The binding stores render-path callbacks so future per-dataset render state, camera, transform, resize, and render requests can be routed back to the correct render-path runtime.
Parameters
• displaySetId: string
• data: LoadedData
• options: DataAddOptions
• shouldIgnore?
Returns
Promise<boolean>
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:477
canvasToWorld()
canvasToWorld(
canvasPos):Point3
Converts a canvas-space point to world-space coordinates using the computed camera.
Parameters
• canvasPos: Point2
Returns
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:265
destroy()
destroy():
void
Releases mounted bindings and viewport-local resources.
Returns
void
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:367
destroyBindings()
protecteddestroyBindings():void
Tears down all mounted dataset bindings by removing each one individually.
Returns
void
Inherited from
GenericViewport.destroyBindings
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:845
dispose()
dispose():
void
Alias for destroy. Provided for compatibility with disposable resource conventions.
Returns
void
Overrides
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:584
forEachBinding()
protectedforEachBinding(visitor):void
Iterates mounted bindings without exposing the underlying map to subclasses.
Parameters
• visitor
Returns
void
Inherited from
GenericViewport.forEachBinding
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:763
getAspectRatio()
getAspectRatio():
Point2
Returns the current axis-based stretch as [scaleX, scaleY]. The new
generic viewport pipeline does not apply axis-based stretching for now, so this
defaults to [1, 1]. Subclasses that support aspect-ratio stretching
should override.
Returns
Inherited from
GenericViewport.getAspectRatio
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:299
getBinding()
protectedgetBinding(displaySetId):ViewportDataBinding<VideoDataPresentation>
Looks up a binding by dataset identifier.
Parameters
• displaySetId: string
Returns
ViewportDataBinding<VideoDataPresentation>
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:717
getCameraForEvent()
protectedgetCameraForEvent():ICamera<number>
Returns the camera representation used for event payloads. Delegates to the computed camera's ICamera projection when available, falling back to the raw view state.
Returns
ICamera<number>
Inherited from
GenericViewport.getCameraForEvent
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:676
getCurrentBinding()
protectedgetCurrentBinding():ViewportDataBinding<VideoDataPresentation>
Returns the binding used for generic transform and frame-of-reference queries when a viewport family does not override the selection logic.
Returns
ViewportDataBinding<VideoDataPresentation>
Inherited from
GenericViewport.getCurrentBinding
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:753
getCurrentImageId()
getCurrentImageId(
index):string
Parameters
• index: number = ...
Returns
string
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:182
getCurrentImageIdIndex()
getCurrentImageIdIndex():
number
Returns the current frame index in zero-based stack form.
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:508
getCurrentTime()
getCurrentTime():
number
Returns the current playback time in seconds.
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:479
getDataPresentationState()
protectedgetDataPresentationState(displaySetId):VideoDataPresentation
Returns the last render state stored for a display set, even if that display set is not currently mounted.
Parameters
• displaySetId: string
Returns
VideoDataPresentation
Inherited from
GenericViewport.getDataPresentationState
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:590
getDisplaySetPresentation()
getDisplaySetPresentation(
displaySetId):VideoDataPresentation
Returns the stored presentation state for a specific dataset.
Parameters
• displaySetId: string
Returns
VideoDataPresentation
Inherited from
GenericViewport.getDisplaySetPresentation
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:192
getDisplaySetRenderMode()
protectedgetDisplaySetRenderMode(displaySetId):string
Internal helper: returns the mounted render mode for a specific dataset when present.
Parameters
• displaySetId: string
Returns
string
Inherited from
GenericViewport.getDisplaySetRenderMode
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:727
getDisplaySetRole()
protectedgetDisplaySetRole(displaySetId):BindingRole
Internal helper: returns the binding role for a mounted dataset when present.
Parameters
• displaySetId: string
Returns
BindingRole
Inherited from
GenericViewport.getDisplaySetRole
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:735
getFirstBinding()
protectedgetFirstBinding():ViewportDataBinding<VideoDataPresentation>
Returns the first mounted binding when a viewport family does not have a stronger notion of "current" selection.
Returns
ViewportDataBinding<VideoDataPresentation>
Inherited from
GenericViewport.getFirstBinding
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:743
getFrameNumber()
getFrameNumber():
number
Returns the current frame number derived from playback time.
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:487
getFrameOfReferenceUID()
getFrameOfReferenceUID():
string
Returns the frame of reference UID from the computed camera when available, falling back to the current binding or a viewport-local identifier.
Returns
string
Inherited from
GenericViewport.getFrameOfReferenceUID
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:241
getFrameRate()
getFrameRate():
number
Returns the active dataset frame rate.
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:458
getImageIds()
getImageIds():
string[]
Returns generated frame image ids for the active video dataset.
Returns
string[]
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:515
getNumberOfFrames()
getNumberOfFrames():
number
Returns the total number of frames in the active dataset.
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:465
getNumberOfSlices()
getNumberOfSlices():
number
Returns the stack-like slice count used by tool compatibility layers.
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:472
getPan()
getPan():
Point2
Returns the current pan offset in canvas coordinates.
Returns
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:254
getReferenceViewContexts()
protectedgetReferenceViewContexts():GenericViewportReferenceContext[]
Returns generic reference-compatibility contexts for mounted datasets. Subclasses can add image, volume, slice, plane, and dimension facts.
Returns
GenericViewportReferenceContext[]
Overrides
GenericViewport.getReferenceViewContexts
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:300
getResolvedView()
getResolvedView():
VideoResolvedView
Returns the computed camera that resolves layout, zoom, and pan from the raw camera state and the current video element dimensions.
Returns
VideoResolvedView
Overrides
GenericViewport.getResolvedView
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:275
getSliceIndex()
getSliceIndex():
number
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:215
getUseCustomRenderingPipeline()
getUseCustomRenderingPipeline():
boolean
Returns whether this viewport bypasses the shared rendering pipeline.
Returns
boolean
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:591
getViewReference()
getViewReference(
viewRefSpecifier):ViewReference
Returns a spatial reference for the current viewport state.
Parameters
• viewRefSpecifier: ViewReferenceSpecifier = {}
Returns
Overrides
GenericViewport.getViewReference
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:155
getViewReferenceId()
getViewReferenceId(
specifier):string
Returns a stable string identifier for the current view reference.
Parameters
• specifier: ViewReferenceSpecifier = {}
Returns
string
Overrides
GenericViewport.getViewReferenceId
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:194
getViewState()
getViewState():
VideoViewState
Returns the controller's current shared view state.
Returns
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:329
getZoom()
getZoom():
number
Returns the current zoom level derived from camera scale.
Returns
number
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:226
isReferenceViewable()
isReferenceViewable(
viewReference,options):boolean
Returns whether a spatial reference is compatible with this viewport.
Parameters
• viewReference: ViewReference
• options: ReferenceCompatibleOptions = {}
Returns
boolean
Inherited from
GenericViewport.isReferenceViewable
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:225
mergeDataPresentation()
protectedmergeDataPresentation(displaySetId,props):VideoDataPresentation
Merges object-like updates into the stored per-display-set render state and forwards the result immediately when mounted.
Parameters
• displaySetId: string
• props: Partial<VideoDataPresentation>
Returns
VideoDataPresentation
Inherited from
GenericViewport.mergeDataPresentation
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:621
modified()
protectedmodified(previousCamera?):void
Pushes the current shared view state to every binding and schedules a render. Optionally fires a camera-modified event when a previous camera snapshot is provided.
Parameters
• previousCamera?: ICamera<number>
Returns
void
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:655
normalizeViewState()
protectednormalizeViewState(viewState):VideoViewState
Clamps and normalizes video camera values before storage.
Parameters
• viewState: VideoViewState
Returns
Overrides
GenericViewport.normalizeViewState
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:602
onDestroy()
protectedonDestroy():void
Releases the tracked video element listener during destroy.
Returns
void
Overrides
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:611
pause()
pause():
void
Pauses playback and synchronizes the cached current time.
Returns
void
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:349
play()
play():
Promise<void>
Starts playback on the active video element.
Returns
Promise<void>
A promise that resolves after the play request settles.
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:333
removeAllData()
protectedremoveAllData():void
Returns
void
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:557
removeData()
removeData(
dataId):void
Removes a video dataset and rebinds tracking if the primary video changed.
Parameters
• dataId: string
Logical dataset id to remove.
Returns
void
Overrides
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:144
removeWidgets()
removeWidgets():
void
Returns
void
Deprecated
Compatibility no-op retained during the V2 migration.
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:360
render()
render():
void
No-op render because DOM updates happen eagerly in the render path.
Returns
void
Overrides
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:551
renderBindings()
protectedrenderBindings():boolean
Invokes render on each binding and reports whether any binding handled the render request directly.
Returns
boolean
Inherited from
GenericViewport.renderBindings
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:814
resetViewState()
resetViewState():
boolean
Resets layout navigation while preserving the current video time.
Returns
boolean
Overrides
GenericViewport.resetViewState
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:562
resize()
resize():
void
Recomputes viewport-owned runtime sizing. Concrete viewport families may override this when they need to resize canvases or external runtimes.
Returns
void
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:428
resizeBindings()
protectedresizeBindings():void
Invokes resize on each mounted binding.
Returns
void
Inherited from
GenericViewport.resizeBindings
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:832
resizeForRenderingEngine()
resizeForRenderingEngine(
__namedParameters):void
RenderingEngine-owned resize hook for custom-pipeline viewports.
Generic viewports own semantic view state, so the rendering engine delegates resize behavior here instead of preserving legacy getCamera/setCamera snapshots around a reset.
Parameters
• __namedParameters: RenderingEngineResizeOptions = {}
Returns
void
Inherited from
GenericViewport.resizeForRenderingEngine
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:452
scroll()
scroll(
delta,_debounceLoading,loop):void
Scrolls through frames using a signed delta.
Parameters
• delta: number = 1
Signed number of frames to move by.
• _debounceLoading: boolean = true
Unused compatibility argument kept for stack-like callers.
• loop: boolean = false
Whether to wrap when scrolling past either end.
Returns
void
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:410
seek()
seek(
timeSeconds):void
Seeks the active video to the requested time in seconds.
Parameters
• timeSeconds: number
Target playback time in seconds.
Returns
void
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:359
setDataPresentationState()
protectedsetDataPresentationState(displaySetId,props):void
Stores per-dataset render state and forwards it immediately when that dataset is already added.
Parameters
• displaySetId: string
• props: VideoDataPresentation
Returns
void
Inherited from
GenericViewport.setDataPresentationState
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:567
setDefaultDataPresentation()
protectedsetDefaultDataPresentation(displaySetId,defaults):VideoDataPresentation
Stores object-like defaults for a display set without clobbering any values already tracked for that display set.
Parameters
• displaySetId: string
• defaults: VideoDataPresentation
Returns
VideoDataPresentation
Inherited from
GenericViewport.setDefaultDataPresentation
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:600
setDisplaySetPresentation()
setDisplaySetPresentation(props)
setDisplaySetPresentation(
props):void
Updates the stored per-display-set presentation state. When called with
just props, the update is applied to the current (source) binding. When
called with an explicit displaySetId, the update targets that binding.
Parameters
• props: Partial<VideoDataPresentation>
Returns
void
Inherited from
GenericViewport.setDisplaySetPresentation
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:166
setDisplaySetPresentation(displaySetId, props)
setDisplaySetPresentation(
displaySetId,props):void
Parameters
• displaySetId: string
• props: Partial<VideoDataPresentation>
Returns
void
Inherited from
GenericViewport.setDisplaySetPresentation
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:167
setDisplaySets()
setDisplaySets(...
entries):Promise<void>
Replaces all mounted video display sets with the provided ones using the HTML video render path. The first entry is mounted as the source binding.
Parameters
• ...entries: object[]
Video display sets to mount.
Returns
Promise<void>
Overrides
GenericViewport.setDisplaySets
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:91
setFrameNumber()
setFrameNumber(
frameNumber):void
Seeks to the requested frame number using the dataset frame rate.
Parameters
• frameNumber: number
Target frame number in dataset coordinates.
Returns
void
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:375
setNeedsRender()
setNeedsRender():
void
Marks the viewport as waiting for a render pass without scheduling one.
Returns
void
Inherited from
GenericViewport.setNeedsRender
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:414
setPan()
setPan(
pan):void
Sets the pan offset in canvas coordinates.
Parameters
• pan: Point2
Returns
void
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:261
setPlaybackRate()
setPlaybackRate(
playbackRate):void
Updates playback rate through per-data presentation state.
Parameters
• playbackRate: number
Playback rate to apply to the active dataset.
Returns
void
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:390
setRendered()
setRendered():
void
Called by rendering engines after a frame is rendered.
Most GenericViewport families do not need to track this separately because their render paths own concrete runtime state.
Returns
void
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:400
setViewReference()
setViewReference(
viewRef):void
Applies a spatial reference to the current viewport state.
Parameters
• viewRef: ViewReference
Returns
void
Overrides
GenericViewport.setViewReference
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:204
setViewState()
setViewState(
viewStatePatch):void
Merges partial view-state updates into the viewport source of truth and propagates the result to every active binding.
Parameters
• viewStatePatch: Partial<VideoViewState>
Returns
void
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:311
setZoom()
setZoom(
zoom,canvasPoint?):void
Sets the zoom level, optionally anchored to a canvas point.
Parameters
• zoom: number
• canvasPoint?: Point2
Returns
void
Defined in
packages/core/src/RenderingEngine/GenericViewport/Video/VideoViewport.ts:235
triggerCameraModifiedEvent()
protectedtriggerCameraModifiedEvent(previousCamera):void
Fires a Events.CAMERA_MODIFIED event on the viewport element.
Parameters
• previousCamera: ICamera<number>
Returns
void
Inherited from
GenericViewport.triggerCameraModifiedEvent
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:684
triggerCameraResetEvent()
protectedtriggerCameraResetEvent():void
Fires a Events.CAMERA_RESET event on the viewport element.
Returns
void
Inherited from
GenericViewport.triggerCameraResetEvent
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:699
updateViewState()
updateViewState(
updater):void
Computes a view-state patch from the current state, then applies it through
setViewState so normalization, events, and render invalidation stay in
the canonical mutation path.
Parameters
• updater: Partial<VideoViewState> | (viewState) => void | Partial<VideoViewState>
Returns
void
Inherited from
GenericViewport.updateViewState
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:338
worldToCanvas()
worldToCanvas(
worldPos):Point2
Converts a world-space point to canvas-space coordinates using the computed camera.
Parameters
• worldPos: Point3
Returns
Inherited from
Defined in
packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:281