import { preRenderCallbackFunctionType, nrrdMeshesType, nrrdSliceType, loadingBarType, dicomLoaderOptsType, mouseMovePositionType, ICopperSceneOpts } from "../types/types"; import * as THREE from "three"; import { GUI } from "dat.gui"; import { optsType } from "../Loader/copperNrrdLoader"; import { Controls } from "../Controls/copperControls"; import { Copper3dTrackballControls } from "../Controls/Copper3dTrackballControls"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"; import { TrackballControls } from "three/examples/jsm/controls/TrackballControls"; export declare class commonScene { container: HTMLDivElement; scene: THREE.Scene; camera: THREE.PerspectiveCamera | THREE.OrthographicCamera; copperPerspectiveCamera: THREE.PerspectiveCamera; copperOrthographicCamera: THREE.OrthographicCamera; subDiv: HTMLDivElement | null; subScene: THREE.Scene; subCamera: THREE.PerspectiveCamera | null; controls: Copper3dTrackballControls | OrbitControls | TrackballControls; protected subRender: THREE.WebGLRenderer | null; protected subCopperControl: Controls | null; protected renderNrrdVolume: boolean; protected preRenderCallbackFunctions: preRenderCallbackFunctionType; protected sort: boolean; protected depthStep: number; protected pickableObjects: THREE.Mesh[]; constructor(container: HTMLDivElement, opt?: ICopperSceneOpts); createDemoMesh(): void; addObject(obj: any): void; setDepth(value: number): void; setDicomFilesOrder(value: "ascending" | "descending"): void; /** Registers a per-frame callback and returns its id, for removePreRenderCallbackFunction. */ addPreRenderCallbackFunction(callbackFunction: Function): number; removePreRenderCallbackFunction(id: number): void; pickModel(content: THREE.Group, callback: (selectMesh: THREE.Mesh | undefined) => void, options?: string[]): void; pickSpecifiedModel(content: THREE.Mesh | Array, mousePosition: mouseMovePositionType): { intersectedObject: THREE.Object3D | null; intersects: THREE.Intersection>[]; }; /** * create a new sub view to display models */ addSubView(): HTMLDivElement; loadDicom(urls: string | Array, opts?: dicomLoaderOptsType): void; loadNrrd(url: string, loadingBar: loadingBarType, segmentation: boolean, callback?: (volume: any, nrrdMeshes: nrrdMeshesType, nrrdSlices: nrrdSliceType, gui?: GUI) => void, opts?: optsType): void; updateControls(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void; loadNrrdTexture3d(url: string, callback?: (volume: any, gui?: GUI) => void): void; loadOBJ(url: string, callback?: (mesh: THREE.Group) => void, opts?: { color: string; }): void; }