Variable: planarProjection
constplanarProjection:object
Experimental
Lower-level planar projection helpers for custom synchronizers and tooling that need resolved snapshots or renderer cameras without going through a viewport method. These are advertised as a tier below the core viewport API — signatures may change before 3.0 stable.
Advanced helper namespace; prefer viewportProjection for
stable application-level presentation reads and writes.
Type declaration
adapter
adapter:
ViewportProjectionAdapter<PlanarViewState,PlanarViewPresentation,PlanarProjectionSnapshot> =planarProjectionAdapter
Experimental
applyToRenderer()
applyToRenderer: (
args) =>PlanarResolvedICamera|undefined=applyPlanarICameraToRenderer
Experimental
Pushes a resolved ICamera onto a vtkRenderer's active camera. Returns the applied camera, or undefined if the camera was incomplete.
Exposed for custom synchronizers and tooling. Less stable
than the core viewport API; signatures may change before 3.0 stable.
Prefer the planarProjection namespace re-export over importing directly.
Parameters
• args
• args.activeSourceICamera?: PlanarResolvedICamera
The resolved ICamera to apply.
• args.renderer: vtkRenderer
The VTK renderer whose camera will be updated.
Returns
PlanarResolvedICamera | undefined
The applied ICamera, or undefined if required fields were missing.
createImageSliceBasis()
createImageSliceBasis: (
args) =>PlanarSliceBasis=createPlanarImageSliceBasis
Parameters
• args
• args.canvasHeight: number
• args.canvasWidth: number
• args.image: IImage
Returns
createVolumeSliceBasis()
createVolumeSliceBasis: (
args) =>object=createPlanarVolumeSliceBasis
Parameters
• args
• args.canvasHeight: number
• args.canvasWidth: number
• args.imageIdIndex?: number
• args.imageVolume: ImageVolume
• args.orientation?: PlanarOrientation
• args.viewState?: PlanarViewState
Returns
object
currentImageIdIndex
currentImageIdIndex:
number
maxImageIdIndex
maxImageIdIndex:
number
sliceBasis
sliceBasis:
PlanarSliceBasis
derivePresentation()
derivePresentation: (
args) =>DerivedPlanarPresentation=derivePlanarPresentation
Experimental
Derives canvas-space presentation values (pan, zoom, rotation) from a semantic PlanarViewState and a PlanarSliceBasis.
Pan is computed in two parts:
panFromAnchorWorld— the offset caused by the anchor point being away from sliceCenterWorld, projected into canvas pixels.panFromAnchorCanvas— the offset caused by the anchor being placed at a non-center canvas location (e.g. zoom-to-cursor).
Exposed for custom synchronizers and tooling. Less stable
than the core viewport API; signatures may change before 3.0 stable.
Prefer the planarProjection namespace re-export over importing directly.
Parameters
• args
• args.camera?: PlanarViewState
The semantic camera (may be undefined for defaults).
• args.canvasHeight: number
Current canvas height in CSS pixels.
• args.canvasWidth: number
Current canvas width in CSS pixels.
• args.sliceBasis: PlanarSliceBasis
The geometric basis for the current slice.
Returns
DerivedPlanarPresentation
Derived pan (pixels), zoom (scale factor), and rotation (degrees).
getPan()
getPan: (
snapshot) =>Point2=getPlanarProjectionPan
Reads raw canvas-space pan from a projection snapshot.
Parameters
• snapshot: PlanarProjectionSnapshot
Returns
getScale()
getScale: (
snapshot) =>Point2=getPlanarProjectionScale
Reads the native two-axis Planar scale from a projection snapshot.
Parameters
• snapshot: PlanarProjectionSnapshot
Returns
getSnapshot()
getSnapshot: (
request) =>PlanarProjectionSnapshot|undefined=getPlanarProjectionSnapshot
Builds the capability-based Planar projection snapshot for a viewport-like object or an explicit view-state request.
Parameters
• request: PlanarProjectionRequest
Returns
PlanarProjectionSnapshot | undefined
getZoom()
getZoom: (
snapshot) =>number=getPlanarProjectionZoom
Reads the legacy uniform zoom value from a Planar projection snapshot.
Parameters
• snapshot: PlanarProjectionSnapshot
Returns
number
resolveICamera()
resolveICamera: (
args) =>PlanarResolvedICamera=resolvePlanarICamera
Experimental
Produces a complete ICamera from a PlanarSliceBasis and an optional PlanarViewState. This is the main entry point for VTK-based render paths that need to set up a vtkRenderer camera.
The pipeline:
derivePlanarPresentationextracts pan/zoom/rotation.getResolvedPanOffsetconverts canvas-space pan back to world offset.focalPoint = sliceCenterWorld - worldOffset.position = focalPoint + viewPlaneNormal * cameraDistance.
Exposed for custom synchronizers and tooling. Less stable
than the core viewport API; signatures may change before 3.0 stable.
Prefer the planarProjection namespace re-export over importing directly.
Parameters
• args
• args.camera?: PlanarViewState
The semantic camera (may be undefined for defaults).
• args.canvasHeight: number
Current canvas height in CSS pixels.
• args.canvasWidth: number
Current canvas width in CSS pixels.
• args.sliceBasis: PlanarSliceBasis
The geometric basis for the current slice.
Returns
A fully resolved ICamera ready for a VTK renderer.
Defined in
packages/core/src/RenderingEngine/GenericViewport/Planar/index.ts:33