@cornerstonejs/core
Version:
Cornerstone3D Core
47 lines (46 loc) • 1.99 kB
TypeScript
import { mat4 } from 'gl-matrix';
import type vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
import type vtkVolumeMapper from '@kitware/vtk.js/Rendering/Core/VolumeMapper';
import type { ICamera, Point2, Point3 } from '../../../types/index.js';
import type { PlanarViewState, PlanarResolvedICamera } from './PlanarViewportTypes.js';
import type { PlanarSliceBasis } from './planarSliceBasis.js';
export interface DerivedPlanarPresentation {
pan: Point2;
zoom: number;
scale: Point2;
rotation: number;
flipHorizontal: boolean;
flipVertical: boolean;
}
export declare function projectAnchorWorldToCurrentPlane(anchorWorld: Point3, planePoint: Point3, planeNormal: Point3): Point3;
export declare function derivePlanarPresentation(args: {
sliceBasis: PlanarSliceBasis;
camera?: PlanarViewState;
canvasWidth: number;
canvasHeight: number;
}): DerivedPlanarPresentation;
export declare function resolvePlanarICamera(args: {
sliceBasis: PlanarSliceBasis;
camera?: PlanarViewState;
canvasWidth: number;
canvasHeight: number;
}): PlanarResolvedICamera;
export declare function applyPlanarICameraToRenderer(args: {
renderer: vtkRenderer;
activeSourceICamera?: PlanarResolvedICamera;
}): PlanarResolvedICamera | undefined;
type PlanarScalableActor = {
setUserMatrix?: (matrix: mat4) => void;
};
export declare function createPlanarPresentationScaleMatrix(activeSourceICamera?: Pick<PlanarResolvedICamera, 'focalPoint' | 'presentationScale' | 'viewPlaneNormal' | 'viewUp'>): mat4;
export declare function applyPlanarICameraToActor(args: {
actor?: PlanarScalableActor;
activeSourceICamera?: PlanarResolvedICamera;
}): void;
export declare function setPlanarVolumeCameraClippingRange(renderer: vtkRenderer): void;
export declare function updatePlanarVolumeClippingPlanes(args: {
camera: Pick<ICamera, 'focalPoint' | 'viewPlaneNormal'>;
mapper: vtkVolumeMapper;
slabThickness?: number;
}): void;
export {};