Skip to main content

Class: PlanarViewport

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​

Constructors​

new PlanarViewport()​

new PlanarViewport(args): PlanarViewport

Parameters​

• args: PlanarViewportInput

Returns​

PlanarViewport

Overrides​

GenericViewport.constructor

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:201

Properties​

_debug​

readonly _debug: object

renderModes​

renderModes: Record<string, string>

Inherited from​

GenericViewport._debug

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:87


bindings​

protected bindings: Map<string, ViewportDataBinding<PlanarDataPresentation>>

Inherited from​

GenericViewport.bindings

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:77


canvas​

readonly canvas: HTMLCanvasElement

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:153


dataPresentation​

protected dataPresentation: Map<string, PlanarDataPresentation>

Inherited from​

GenericViewport.dataPresentation

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:81


dataProvider​

protected dataProvider: DataProvider<object, unknown>

Inherited from​

GenericViewport.dataProvider

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:73


defaultOptions​

defaultOptions: PlanarViewportInputOptions

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:156


element​

readonly element: HTMLDivElement

Inherited from​

GenericViewport.element

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:66


id​

readonly id: string

Inherited from​

GenericViewport.id

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:65


isDestroyed​

protected isDestroyed: boolean = false

Inherited from​

GenericViewport.isDestroyed

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:83


options​

options: PlanarViewportInputOptions

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:157


renderContext​

protected renderContext: PlanarViewportRenderContext

Overrides​

GenericViewport.renderContext

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:160


renderingEngineId​

readonly renderingEngineId: string

Overrides​

GenericViewport.renderingEngineId

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:152


renderPathResolver​

protected renderPathResolver: RenderPathResolver

Inherited from​

GenericViewport.renderPathResolver

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:74


sHeight​

sHeight: number

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:155


suppressEvents​

suppressEvents: boolean = false

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:158


sWidth​

sWidth: number

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:154


type​

readonly type: PLANAR_NEXT = ViewportType.PLANAR_NEXT

Overrides​

GenericViewport.type

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:151


viewportStatus​

viewportStatus: ViewportStatus = ViewportStatus.NO_DATA

Inherited from​

GenericViewport.viewportStatus

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:69


viewState​

protected viewState: PlanarViewState

Inherited from​

GenericViewport.viewState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:82

Accessors​

useCustomRenderingPipeline​

get static useCustomRenderingPipeline(): boolean

Returns​

boolean

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:195

Methods​

addDisplaySet()​

addDisplaySet(displaySetId, options): Promise<void>

Adds a single logical planar display set.

Parameters​

• displaySetId: string

Logical display set id to add.

• options: PlanarSetDataOptions = {}

Semantic orientation and binding options. The render path is inferred from the registered dataset and viewport configuration.

Returns​

Promise<void>

Overrides​

GenericViewport.addDisplaySet

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:405


addImages()​

addImages(stackInputs): Promise<void>

Adds overlay images on top of the primary render path output.

Parameters​

• stackInputs: IStackInput[]

Returns​

Promise<void>

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:607


addLoadedData()​

protected addLoadedData(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​

GenericViewport.addLoadedData

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:531


calibrateSpacing()​

calibrateSpacing(imageId): void

Re-applies the calibrated pixel spacing for an image (CS-12). The native counterpart of StackViewport.calibrateSpacing.

The caller (the tools calibrateImageSpacing utility) first adds the calibration to the calibratedPixelSpacingMetadataProvider; this method then re-renders and emits IMAGE_SPACING_CALIBRATED so annotation tools invalidate their cached stats and recompute lengths against the new calibration. The native data path reads calibration fresh from getImageData() on every access (see buildPlanarImageData -> getImageDataMetadata -> buildMetadata), so there is no cached spacing to rebuild — the event + render are the whole job.

Defining this method is also what makes viewportSupportsStackCalibration return true for a native viewport, so calibrateImageSpacing routes here instead of skipping the viewport (it has no legacy setStack to fall back to).

Parameters​

• imageId: string

the imageId whose calibration changed

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:886


canRenderOrientation()​

canRenderOrientation(orientation, dataId?): boolean

Reports whether the viewport could render the given orientation for the current (or a specified) source data, without throwing.

Acquisition-aligned orientations are always renderable; reformatted orientations (AXIAL/SAGITTAL/CORONAL) require volume-backed data. Use this to pre-check before setOrientation() / setViewState({ orientation }) (for example to enable/disable an MPR control) instead of relying on the render-path decision service throwing on an unsupported request.

Parameters​

• orientation: PlanarSetOrientationInput

The orientation to test.

• dataId?: string

Optional display set id; defaults to the active source.

Returns​

boolean

true when the orientation can be rendered for the data.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1438


canvasToWorld()​

canvasToWorld(canvasPos): Point3

Converts canvas-space to world-space through the resolved semantic view.

Parameters​

• canvasPos: Point2

Returns​

Point3

Overrides​

GenericViewport.canvasToWorld

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1251


createLegacyCompatibilityHost()​

protected createLegacyCompatibilityHost(): object

Returns​

object

findDataIdByVolumeId()​

findDataIdByVolumeId: (volumeId) => string

Parameters​

• volumeId: any

Returns​

string

getActiveDataId()​

getActiveDataId: () => string

Returns​

string

getBindingActor()​

getBindingActor: (dataId) => unknown

Parameters​

• dataId: any

Returns​

unknown

getCameraOrientation()​

getCameraOrientation: () => PlanarOrientation

Returns​

PlanarOrientation

getCurrentImageId()​

getCurrentImageId: () => string

Returns​

string

getCurrentPlanarRendering()​

getCurrentPlanarRendering: () => PlanarRendering

Returns​

PlanarRendering

getDefaultVOIRange()​

getDefaultVOIRange: (dataId) => VOIRange

Parameters​

• dataId: any

Returns​

VOIRange

getDisplaySetPresentation()​

getDisplaySetPresentation: (dataId) => PlanarDataPresentation

Parameters​

• dataId: any

Returns​

PlanarDataPresentation

getElement()​

getElement: () => HTMLDivElement

Returns​

HTMLDivElement

getFirstBoundDataId()​

getFirstBoundDataId: () => string

Returns​

string

getImageCount()​

getImageCount: () => number

Returns​

number

getMaxImageIdIndex()​

getMaxImageIdIndex: () => number

Returns​

number

getRequestedOrientation()​

getRequestedOrientation: () => PlanarOrientation

Returns​

PlanarOrientation

getViewportId()​

getViewportId: () => string

Returns​

string

prepareVolumeCompatibilityCamera()​

prepareVolumeCompatibilityCamera: () => void

Returns​

void

removeBindingsExcept()​

removeBindingsExcept: (keepDataIds) => void

Parameters​

• keepDataIds: any

Returns​

void

render()​

render: () => void

Returns​

void

setCameraOrientation()​

setCameraOrientation: (orientation) => void

Parameters​

• orientation: any

Returns​

void

setDataPresentationState()​

setDataPresentationState: (dataId, presentation) => void

Parameters​

• dataId: any

• presentation: any

Returns​

void

setDisplaySetPresentation()​

setDisplaySetPresentation: (displaySetId, presentation) => void

Parameters​

• displaySetId: any

• presentation: any

Returns​

void

setDisplaySets()​

setDisplaySets: (...entries) => Promise<void>

Parameters​

• ...entries: any[]

Returns​

Promise<void>

setImageIdIndex()​

setImageIdIndex: (imageIdIndex) => Promise<string>

Parameters​

• imageIdIndex: any

Returns​

Promise<string>

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1854


destroy()​

destroy(): void

Releases mounted bindings and viewport-local resources.

Returns​

void

Inherited from​

GenericViewport.destroy

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:410


destroyBindings()​

protected destroyBindings(): 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:944


dispose()​

dispose(): void

Alias for destroy. Provided for compatibility with disposable resource conventions.

Returns​

void

Inherited from​

GenericViewport.dispose

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:433


findBindingDataIdByActorEntryUID()​

protected findBindingDataIdByActorEntryUID(actorEntryUID): string

Parameters​

• actorEntryUID: string

Returns​

string

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2324


findDataIdByVolumeId()​

findDataIdByVolumeId(volumeId): string

Maps a volume id to its bound display-set (data) id. Public because the tools VOI synchronizer needs it across the tools<->core boundary; it was previously reached through a structural cast against this protected member, which leaked the type contract. Planar-family specific (volume-backed), so it lives here rather than on IGenericViewport.

Parameters​

• volumeId: string

Returns​

string

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2337


forEachBinding()​

protected forEachBinding(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:862


getActors()​

getActors(): ActorEntry[]

Returns all actor entries, with the source actor first and overlays after.

Returns​

ActorEntry[]

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:504


getAnchorWorld()​

getAnchorWorld(): Point3

Returns the current world-space anchor point when one is set.

Returns​

Point3

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:978


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​

Point2

Inherited from​

GenericViewport.getAspectRatio

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:342


getBinding()​

protected getBinding(displaySetId): ViewportDataBinding<PlanarDataPresentation>

Looks up a binding by dataset identifier.

Parameters​

• displaySetId: string

Returns​

ViewportDataBinding<PlanarDataPresentation>

Inherited from​

GenericViewport.getBinding

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:796


getCameraForEvent()​

protected getCameraForEvent(): 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>

Overrides​

GenericViewport.getCameraForEvent

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2569


getCanvas()​

getCanvas(): HTMLCanvasElement

Returns the active canvas element (CPU or VTK) based on render mode.

Returns​

HTMLCanvasElement

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:594


getCurrentBinding()​

protected getCurrentBinding(): PlanarDataBinding

Returns the binding used for generic transform and frame-of-reference queries when a viewport family does not override the selection logic.

Returns​

PlanarDataBinding

Overrides​

GenericViewport.getCurrentBinding

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1987


getCurrentImageId()​

getCurrentImageId(viewRefSpecifier): string

Resolves the currently referenced image id from the active camera state.

Parameters​

• viewRefSpecifier: ViewReferenceSpecifier = {}

Returns​

string

The current image id, if one can be resolved.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:821


getCurrentImageIdIndex()​

getCurrentImageIdIndex(): number

Returns the current slice index for stack-like and slice-like workflows.

Returns​

number

The current zero-based image index.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:812


getCurrentMode()​

getCurrentMode(): ViewportContentMode

Content-true classification of the bound source data for a planar viewport.

A PLANAR_NEXT viewport renders both image-id stacks and volume slices, so its content mode is derived from the active source binding's render mode (and, as a fallback, from whether a source volume id is bound) rather than from the viewport type. Returns empty when no source data is mounted.

Returns​

ViewportContentMode

Overrides​

GenericViewport.getCurrentMode

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:712


getCurrentPlanarRendering()​

protected getCurrentPlanarRendering(): PlanarRendering

Returns​

PlanarRendering

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2341


getDataPresentationState()​

protected getDataPresentationState(displaySetId): PlanarDataPresentation

Returns the last render state stored for a display set, even if that display set is not currently mounted.

Parameters​

• displaySetId: string

Returns​

PlanarDataPresentation

Inherited from​

GenericViewport.getDataPresentationState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:648


getDefaultActor()​

getDefaultActor(): ActorEntry

Returns the primary actor entry for the viewport.

Returns​

ActorEntry

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:511


getDefaultImageData()​

getDefaultImageData(): any

Returns the vtk image data backing the default image actor, mirroring the legacy Viewport.getDefaultImageData. Tools (e.g. the ONNX auto-pilot segmentation controller) call this directly on the viewport; native PLANAR_NEXT viewports previously threw getDefaultImageData is not a function. Returns undefined when no VTK image actor is mounted (e.g. CPU render paths).

Returns​

any

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:556


getDefaultVOIRange()​

getDefaultVOIRange(dataId?): VOIRange

Parameters​

• dataId?: string

Returns​

VOIRange

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:803


getDisplayArea()​

getDisplayArea(): PlanarDisplayArea

Returns the current display-area declaration, if any.

Returns​

PlanarDisplayArea

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1025


getDisplaySetPresentation()​

getDisplaySetPresentation(displaySetId): PlanarDataPresentation

Returns the stored presentation state for a specific dataset.

Parameters​

• displaySetId: string

Returns​

PlanarDataPresentation

Inherited from​

GenericViewport.getDisplaySetPresentation

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:209


getDisplaySetRenderMode()​

protected getDisplaySetRenderMode(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:806


getDisplaySetRole()​

protected getDisplaySetRole(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:816


getDisplaySets()​

getDisplaySets(): object[]

Returns the display sets currently mounted on the viewport, in mount order (source binding first, then overlays). Derived from the live bindings, so it always reflects what is actually rendered - including overlays and any removeData calls. The per-entry options carry the binding role.

Returns​

object[]

Inherited from​

GenericViewport.getDisplaySets

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:148


getFirstBinding()​

protected getFirstBinding(): ViewportDataBinding<PlanarDataPresentation>

Returns the first mounted binding when a viewport family does not have a stronger notion of "current" selection.

Returns​

ViewportDataBinding<PlanarDataPresentation>

Inherited from​

GenericViewport.getFirstBinding

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:826


getFrameOfReferenceUID()​

getFrameOfReferenceUID(): string

Returns the frame of reference UID from the resolved view, resolving against the active binding's spatial metadata.

Returns​

string

Overrides​

GenericViewport.getFrameOfReferenceUID

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1278


getImageActor()​

getImageActor(volumeId?): vtkImageSlice

Retrieves an image actor from the viewport actors. Mirrors the legacy Viewport.getImageActor so VOI/colorbar tooling that depends on it keeps working on native PLANAR_NEXT viewports. CPU render paths (e.g. CPU stack slice rendering) have no VTK image actor, so this returns null there and callers fall back to a default range instead of throwing.

Parameters​

• volumeId?: string

Optional id of the volume whose image actor is wanted.

Returns​

vtkImageSlice

The image actor if present, otherwise null.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:525


getImageData()​

getImageData(volumeId?): unknown

Returns the active image-data object when the current render path exposes one.

Parameters​

• volumeId?: string

Optional: when the viewport displays several volumes (eg a fusion viewport), return the image data of the binding showing this volume rather than of the active/default binding. Mirrors the legacy BaseVolumeViewport.getImageData(volumeId?) signature so per-target consumers (eg annotation statistics) work on both.

Returns​

unknown

The image-data object, if exposed by the render path.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1235


getImageDataMetadata()​

getImageDataMetadata(image): ReturnImageDataMetadata

Returns image metadata for a given image object.

Parameters​

• image: IImage

Returns​

ReturnImageDataMetadata

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:663


getImageIds()​

getImageIds(): string[]

Returns the current image ids for the active planar dataset.

Returns​

string[]

The image ids exposed by the active image or volume dataset.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:676


getMaxImageIdIndex()​

protected getMaxImageIdIndex(): number

Returns​

number

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1959


getNumberOfSlices()​

getNumberOfSlices(): number

Returns the number of navigable slices for the current source data.

For image/stack content this is the number of image ids; for volume-slice content it is the slice count along the current view direction. This is the native equivalent of the legacy stack/volume getNumberOfSlices() and is what csUtils.jumpToSlice, scroll, and image-slice synchronizers rely on for a PLANAR_NEXT viewport (which is not a StackViewport, so it takes the slice-count navigation branch).

Returns​

number

The total slice count for the active source data.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:848


getPan()​

getPan(): Point2

Returns​

Point2

Deprecated​

Legacy shim for getPan().

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1109


getReferenceViewContexts()​

protected getReferenceViewContexts(): 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/Planar/PlanarViewport.ts:2621


getRenderingEngine()​

getRenderingEngine(): RenderingEngine

Returns the rendering engine that owns this viewport.

Returns​

RenderingEngine

The parent rendering engine, if it is still registered.

Overrides​

GenericViewport.getRenderingEngine

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1188


getResolvedView()​

getResolvedView(args): ResolvedPlanarViewportView

Returns the resolved view snapshot that resolves the raw camera state against the current render context and data geometry.

Parameters​

• args = {}

• args.frameOfReferenceUID?: string

• args.sliceIndex?: number

Returns​

ResolvedPlanarViewportView

Overrides​

GenericViewport.getResolvedView

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1170


getRotation()​

getRotation(): number

Returns the current rotation angle in degrees.

Returns​

number

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:968


getScale()​

getScale(): Point2

Returns the current native two-axis Planar scale.

Returns​

Point2

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1072


getSliceIndex()​

getSliceIndex(): number

Alias for getCurrentImageIdIndex used by legacy stack-style callers.

Returns​

number

The current zero-based image index.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:832


getSourceBinding()​

protected getSourceBinding(): ViewportDataBinding<PlanarDataPresentation>

Returns the active source binding (the dataset that defines the view), falling back to the first mounted binding when no explicit source role is present. Used for content-mode classification and source-scoped queries.

Returns​

ViewportDataBinding<PlanarDataPresentation>

Inherited from​

GenericViewport.getSourceBinding

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:837


getSourceDataId()​

getSourceDataId(): string

Returns​

string

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:700


getUseCustomRenderingPipeline()​

getUseCustomRenderingPipeline(): boolean

Returns whether this viewport bypasses the shared rendering pipeline.

Returns​

boolean

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1562


getViewReference()​

getViewReference(viewRefSpecifier): ViewReference

Builds a spatial reference object for cross-viewport synchronization.

Parameters​

• viewRefSpecifier: ViewReferenceSpecifier = {}

Optional fields that refine the produced reference object.

Returns​

ViewReference

A spatial view reference for the current planar state.

Overrides​

GenericViewport.getViewReference

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1199


getViewReferenceId()​

getViewReferenceId(viewRefSpecifier): string

Builds a stable id for the current view reference.

Parameters​

• viewRefSpecifier: ViewReferenceSpecifier = {}

Optional fields that refine the produced reference id.

Returns​

string

A stable identifier for the current planar reference state.

Overrides​

GenericViewport.getViewReferenceId

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1212


getViewState()​

getViewState(): PlanarViewState

Returns the raw planar view state.

Returns​

PlanarViewState

Overrides​

GenericViewport.getViewState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1162


getVolumeId()​

getVolumeId(viewRefSpecifier): string

Returns the current volume id when the active dataset is volume-backed.

Parameters​

• viewRefSpecifier: ViewReferenceSpecifier = {}

Returns​

string

The volume id for the active dataset, if one exists.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:691


getZoom()​

getZoom(): number

Returns​

number

Deprecated​

Legacy shim for getZoom().

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1065


hasImageId()​

hasImageId(imageId): boolean

Returns whether the active dataset contains the given image id.

Parameters​

• imageId: string

Image id to look up in the active dataset.

Returns​

boolean

true when the image id is present in the active dataset.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1288


hasImageURI()​

hasImageURI(imageURI): boolean

Returns whether the active dataset contains an image with the given URI.

Parameters​

• imageURI: string

URI form of the image id to look up.

Returns​

boolean

true when a matching image URI exists in the active dataset.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1298


hasVolumeId()​

hasVolumeId(volumeId): boolean

Returns whether any bound dataset references the given volume id.

Parameters​

• volumeId: string

Volume id to compare against the bound datasets.

Returns​

boolean

true when a source or overlay binding references the volume id.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1310


hasVolumeURI()​

hasVolumeURI(volumeURI): boolean

Returns whether the active dataset references a volume whose id contains the given URI fragment.

Parameters​

• volumeURI: string

Volume URI substring to compare against the active dataset volume id.

Returns​

boolean

true when the active dataset references the given volume URI.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1322


isPlaneViewable()​

isPlaneViewable(planeRestriction, options?): boolean

Returns whether a spatial plane is viewable in the current planar state.

Parameters​

• planeRestriction: PlaneRestriction

Plane description to test against the current viewport state.

• options?: ReferenceCompatibleOptions

Optional compatibility flags for the spatial check.

Returns​

boolean

true when the plane can be viewed in this viewport state.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1334


isReferenceViewable()​

isReferenceViewable(viewRef, options): boolean

Returns whether a view reference is spatially compatible with this viewport.

Parameters​

• viewRef: ViewReference

View reference to test.

• options: ReferenceCompatibleOptions = {}

Optional compatibility flags for the spatial check.

Returns​

boolean

true when the reference can be viewed in this viewport state.

Overrides​

GenericViewport.isReferenceViewable

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1349


mergeDataPresentation()​

protected mergeDataPresentation(displaySetId, props): PlanarDataPresentation

Merges object-like updates into the stored per-display-set render state and forwards the result immediately when mounted.

Parameters​

• displaySetId: string

• props: Partial<PlanarDataPresentation>

Returns​

PlanarDataPresentation

Inherited from​

GenericViewport.mergeDataPresentation

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:679


modified()​

protected modified(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

Overrides​

GenericViewport.modified

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1639


normalizeViewState()​

protected normalizeViewState(viewState): PlanarViewState

Hook for subclasses to clamp or adjust view-state values before they are stored. The default implementation returns the view state unchanged.

Parameters​

• viewState: PlanarViewState

Returns​

PlanarViewState

Overrides​

GenericViewport.normalizeViewState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:907


notifyDataPresentationModified()​

protected notifyDataPresentationModified(displaySetId, props): void

Emits the legacy-named presentation events (VOI_MODIFIED, COLORMAP_MODIFIED) when a per-display-set presentation update changes the VOI, invert, or colormap of a mounted dataset.

The native presentation write path previously emitted no event, so OHIF's VOI sliders, colorbar, window-level readout, and VOI/colormap synchronizers went stale after any programmatic or tool-driven setDisplaySetPresentation change on a direct PLANAR_NEXT viewport. The legacy compatibility adapter keeps emitting COLORMAP_MODIFIED through its own path (which applies presentation via setDataPresentationState directly, not through mergeDataPresentation), so this hook does not double-fire for compatibility viewports.

Parameters​

• displaySetId: string

• props: Partial<PlanarDataPresentation>

Returns​

void

Overrides​

GenericViewport.notifyDataPresentationModified

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:752


onDestroy()​

protected onDestroy(): void

Hook for subclasses to release viewport-local resources during destroy. Called after bindings have been torn down but before the maps are cleared.

Returns​

void

Overrides​

GenericViewport.onDestroy

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1624


removeAllData()​

protected removeAllData(): void

Returns​

void

Inherited from​

GenericViewport.removeAllData

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:615


removeBindingsExcept()​

protected removeBindingsExcept(keepDataIds): void

Parameters​

• keepDataIds: Set<string>

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:2260


removeData()​

removeData(dataId): void

Removes a dataset binding and clears the active data id when the removed dataset was active.

Parameters​

• dataId: string

Returns​

void

Overrides​

GenericViewport.removeData

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:485


removeWidgets()​

removeWidgets(): void

Returns​

void

Deprecated​

Compatibility no-op retained during the V2 migration.

Inherited from​

GenericViewport.removeWidgets

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:403


render()​

render(): void

Renders the active planar bindings or queues an engine-driven render.

Returns​

void

Overrides​

GenericViewport.render

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1602


renderBindings()​

protected renderBindings(): boolean

Invokes render on each binding and reports whether any binding handled the render request directly.

Returns​

boolean

Overrides​

GenericViewport.renderBindings

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1652


renderImageObject()​

renderImageObject(image): Promise<void>

Renders a single image object by setting it as a one-image stack.

Parameters​

• image: IImage

Returns​

Promise<void>

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:563


reset()​

reset(immediate): void

Resets viewport options to the construction defaults.

Parameters​

• immediate: boolean = false

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1014


resetDisplaySetPresentation()​

resetDisplaySetPresentation(dataId?): void

Resets the stored per-display-set presentation (VOI / window level, colormap and inversion) back to the computed defaults for a single display set. This is the reset counterpart to setDisplaySetPresentation / getDisplaySetPresentation; the next viewport intentionally has no get/set Properties, so it does not use the legacy *Properties naming.

Clearing the stored presentation override makes the render path fall back to its defaults on the next apply (default VOI, no colormap, no inversion). "Reset View" relies on it (view/camera state is reset separately by resetViewState); without it, "Reset View" left the window level at the user-modified value on direct generic viewports.

Parameters​

• dataId?: string

Optional display set id; defaults to the active source.

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1528


resetViewState()​

resetViewState(options?): boolean

Resets view state presentation back to the viewport defaults.

Navigation state such as the current slice remains unchanged.

Parameters​

• options?: PlanarResetViewStateOptions

Flags controlling which view-state fields are reset.

Returns​

boolean

Always true for compatibility with legacy viewport contracts.

Overrides​

GenericViewport.resetViewState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1467


resetViewStateForResize()​

resetViewStateForResize(): boolean

Resets view state after a resize using the same behavior as resetViewState.

Returns​

boolean

Always true for compatibility with legacy viewport contracts.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1509


resize()​

resize(): void

Resizes the internal CPU canvas and notifies active render bindings.

Returns​

void

Overrides​

GenericViewport.resize

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1576


resizeBindings()​

protected resizeBindings(): void

Invokes resize on each mounted binding.

Returns​

void

Inherited from​

GenericViewport.resizeBindings

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:931


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:506


scroll()​

scroll(delta): Promise<string>

Scrolls by a signed image-index delta.

Parameters​

• delta: number

Signed number of images to move by.

Returns​

Promise<string>

The resolved image id after scrolling.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1411


setAnchorWorld()​

setAnchorWorld(point?): void

Sets or clears the world-space anchor point.

Parameters​

• point?: Point3

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:987


setDataPresentationState()​

protected setDataPresentationState(dataId, props): void

Stores per-dataset render state and forwards it immediately when that dataset is already added.

Parameters​

• dataId: string

• props: PlanarDataPresentation

Returns​

void

Overrides​

GenericViewport.setDataPresentationState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:957


setDefaultDataPresentation()​

protected setDefaultDataPresentation(displaySetId, defaults): PlanarDataPresentation

Stores object-like defaults for a display set without clobbering any values already tracked for that display set.

Parameters​

• displaySetId: string

• defaults: PlanarDataPresentation

Returns​

PlanarDataPresentation

Inherited from​

GenericViewport.setDefaultDataPresentation

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:658


setDisplayArea()​

setDisplayArea(displayArea, suppressEvents): void

Stores a display-area declaration on the semantic camera. The shared planar camera resolver turns it into render-path-specific pan/zoom.

Parameters​

• displayArea: PlanarDisplayArea

• suppressEvents: boolean = false

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1035


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<PlanarDataPresentation>

Returns​

void

Overrides​

GenericViewport.setDisplaySetPresentation

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:938

setDisplaySetPresentation(displaySetId, props)​

setDisplaySetPresentation(displaySetId, 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​

• displaySetId: string

• props: Partial<PlanarDataPresentation>

Returns​

void

Overrides​

GenericViewport.setDisplaySetPresentation

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:939


setDisplaySets()​

setDisplaySets(...entries): Promise<void>

Replaces all mounted planar display sets with the provided ones. The first entry is mounted as the source binding; subsequent entries default to the overlay role unless they specify one explicitly.

Parameters​

• ...entries: object[]

Display sets to mount, each with its own options for orientation and binding role resolution.

Returns​

Promise<void>

Overrides​

GenericViewport.setDisplaySets

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:372


setImageIdIndex()​

setImageIdIndex(imageIdIndex): Promise<string>

Sets the active image index and resolves the corresponding image id.

Parameters​

• imageIdIndex: number

Requested zero-based image index.

Returns​

Promise<string>

The resolved image id after clamping.

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1362


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:457


setOptions()​

setOptions(options, immediate): void

Applies viewport-level options that affect the planar camera.

Parameters​

• options: ViewportInputOptions

• immediate: boolean = false

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:996


setOrientation()​

setOrientation(orientation): void

Sets the planar orientation for volume-backed render modes.

Parameters​

• orientation: PlanarSetOrientationInput

Target acquisition-aligned orientation.

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1420


setPan()​

setPan(nextPan): void

Parameters​

• nextPan: Point2

Returns​

void

Deprecated​

Legacy shim for setPan(...).

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1114


setRendered()​

setRendered(): void

No-op called by the rendering engine after completing a frame.

Returns​

void

Overrides​

GenericViewport.setRendered

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1569


setScale()​

setScale(scale, canvasPoint?): void

Sets the native two-axis Planar scale. A scalar keeps legacy uniform zoom behavior; a tuple intentionally changes the displayed aspect ratio.

Parameters​

• scale: PlanarScaleInput

• canvasPoint?: Point2

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1085


setScaleAtCanvasPoint()​

setScaleAtCanvasPoint(scale, canvasPoint): void

Sets the zoom scale anchored to a specific canvas point.

Parameters​

• scale: PlanarScaleInput

• canvasPoint: Point2

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1132


setViewReference()​

setViewReference(viewRef): void

Applies a view reference by activating the matching binding and navigating to the referenced slice.

Parameters​

• viewRef: ViewReference

Returns​

void

Overrides​

GenericViewport.setViewReference

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1220


setViewState()​

setViewState(viewStatePatch): void

Merges partial Planar view-state updates into the viewport state.

Parameters​

• viewStatePatch: Partial<PlanarViewState>

Returns​

void

Overrides​

GenericViewport.setViewState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:914


setZoom()​

setZoom(zoom, canvasPoint?): void

Parameters​

• zoom: number

• canvasPoint?: Point2

Returns​

void

Deprecated​

Legacy shim for setZoom(...).

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1077


triggerCameraModifiedEvent()​

protected triggerCameraModifiedEvent(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:763


triggerCameraResetEvent()​

protected triggerCameraResetEvent(): 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:778


updateBindingsCameraState()​

protected updateBindingsCameraState(): void

Returns​

void

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1899


updateRenderingPipeline()​

updateRenderingPipeline(): void

Live render-backend switch: re-runs the render-path decision for every mounted display set and remounts, in place, the ones whose effective render mode changed. The viewport instance, its id, mounted data, view state (slice/zoom/pan), per-display-set presentation, and tool annotations all survive -- addLoadedData re-applies presentation and view state to the rebuilt binding. Display sets pinned via a per-mount renderBackend re-resolve to the same path and are effectively skipped.

Called by the global setRenderBackend()/setUseCPURendering() fan-out; the rebuild is async but the hook itself is fire-and-forget by contract.

Returns​

void

Overrides​

GenericViewport.updateRenderingPipeline

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1704


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<PlanarViewState> | (viewState) => void | Partial<PlanarViewState>

Returns​

void

Inherited from​

GenericViewport.updateViewState

Defined in​

packages/core/src/RenderingEngine/GenericViewport/GenericViewport.ts:381


worldToCanvas()​

worldToCanvas(worldPos): Point2

Converts world-space to canvas-space through the resolved semantic view.

Parameters​

• worldPos: Point3

Returns​

Point2

Overrides​

GenericViewport.worldToCanvas

Defined in​

packages/core/src/RenderingEngine/GenericViewport/Planar/PlanarViewport.ts:1264