Skip to main content

Interface: ViewportProjectionAdapter<TViewState, TPresentation, TSnapshot>

Adapter contract for a viewport family that can expose a projection snapshot.

Type Parameters

TViewState = unknown

TPresentation = unknown

TSnapshot extends ProjectionSnapshot<TViewState, ProjectionPresentation<unknown>> = ProjectionSnapshot<TViewState>

Properties

id

id: string

Defined in

packages/core/src/RenderingEngine/GenericViewport/ViewportProjectionTypes.ts:137


viewportTypes

viewportTypes: string[]

Defined in

packages/core/src/RenderingEngine/GenericViewport/ViewportProjectionTypes.ts:138

Methods

applyToRenderer()?

optional applyToRenderer(snapshot, target): void

Push the snapshot's renderer output into a render target when the adapter knows how to do so.

Parameters

snapshot: TSnapshot

target: unknown

Returns

void

Defined in

packages/core/src/RenderingEngine/GenericViewport/ViewportProjectionTypes.ts:169


getPresentation()

getPresentation(snapshot, selector?): TPresentation

Convert a snapshot into the viewport family's public view-presentation shape, honoring the selector when the presentation supports one.

Parameters

snapshot: TSnapshot

selector?: ViewPresentationSelector

Returns

TPresentation

Defined in

packages/core/src/RenderingEngine/GenericViewport/ViewportProjectionTypes.ts:150


getSnapshot()

getSnapshot(request): TSnapshot

Resolve the current viewport projection snapshot, or return undefined when the viewport does not have enough state to describe one.

Parameters

request: ProjectionRequest<unknown>

Returns

TSnapshot

Defined in

packages/core/src/RenderingEngine/GenericViewport/ViewportProjectionTypes.ts:144


withPresentation()

withPresentation(snapshot, presentation, options?): TViewState

Apply presentation changes to a snapshot and return the next semantic viewport state without mutating the viewport directly.

Parameters

snapshot: TSnapshot

presentation: Partial<TPresentation>

options?: ProjectionWriteOptions

Returns

TViewState

Defined in

packages/core/src/RenderingEngine/GenericViewport/ViewportProjectionTypes.ts:159