Skip to content

copper3d / Modules / Scene/copperScene / copperScene

Class: copperScene ​

Scene/copperScene.copperScene

Hierarchy ​

Table of contents ​

Constructors ​

Properties ​

Methods ​

Constructors ​

constructor ​

• new copperScene(container, renderer, opt?)

Parameters ​

NameType
containerHTMLDivElement
rendererWebGLRenderer
opt?ICopperSceneOpts

Overrides ​

baseScene.constructor

Defined in ​

src/Scene/copperScene.ts:41

Properties ​

ambientLight ​

• ambientLight: AmbientLight

Inherited from ​

baseScene.ambientLight

Defined in ​

src/Scene/baseScene.ts:18


camera ​

• camera: PerspectiveCamera | OrthographicCamera

Inherited from ​

baseScene.camera

Defined in ​

src/Scene/commonSceneMethod.ts:30


cameraPositionFlag ​

• cameraPositionFlag: boolean = false

Inherited from ​

baseScene.cameraPositionFlag

Defined in ​

src/Scene/baseScene.ts:20


clipAction ​

• Private clipAction: any

Defined in ​

src/Scene/copperScene.ts:37


clock ​

• clock: Timer

Defined in ​

src/Scene/copperScene.ts:30


container ​

• container: HTMLDivElement

Inherited from ​

baseScene.container

Defined in ​

src/Scene/commonSceneMethod.ts:28


content ​

• content: Group<Object3DEventMap>

Inherited from ​

baseScene.content

Defined in ​

src/Scene/baseScene.ts:21


controls ​

• controls: Copper3dTrackballControls | OrbitControls<Camera> | TrackballControls

Overrides ​

baseScene.controls

Defined in ​

src/Scene/copperScene.ts:31


copperControl ​

• copperControl: Controls

Inherited from ​

baseScene.copperControl

Defined in ​

src/Scene/baseScene.ts:19


copperOrthographicCamera ​

• copperOrthographicCamera: OrthographicCamera

Inherited from ​

baseScene.copperOrthographicCamera

Defined in ​

src/Scene/commonSceneMethod.ts:33


copperPerspectiveCamera ​

• copperPerspectiveCamera: PerspectiveCamera

Inherited from ​

baseScene.copperPerspectiveCamera

Defined in ​

src/Scene/commonSceneMethod.ts:32


depthStep ​

• Protected depthStep: number = 0.4

Inherited from ​

baseScene.depthStep

Defined in ​

src/Scene/commonSceneMethod.ts:45


directionalLight ​

• directionalLight: DirectionalLight

Inherited from ​

baseScene.directionalLight

Defined in ​

src/Scene/baseScene.ts:17


exportContent ​

• exportContent: Group<Object3DEventMap>

Inherited from ​

baseScene.exportContent

Defined in ​

src/Scene/baseScene.ts:22


isHalfed ​

• isHalfed: boolean = false

Inherited from ​

baseScene.isHalfed

Defined in ​

src/Scene/baseScene.ts:23


mixer ​

• Private mixer: null | AnimationMixer<AnimationMixerEventMap> = null

Defined in ​

src/Scene/copperScene.ts:34


modelReady ​

• Private modelReady: boolean = false

Defined in ​

src/Scene/copperScene.ts:36


pickableObjects ​

• Protected pickableObjects: Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[] = []

Inherited from ​

baseScene.pickableObjects

Defined in ​

src/Scene/commonSceneMethod.ts:47


playRate ​

• Private playRate: number = 1.0

Defined in ​

src/Scene/copperScene.ts:35


preRenderCallbackFunctions ​

• Protected preRenderCallbackFunctions: preRenderCallbackFunctionType

Inherited from ​

baseScene.preRenderCallbackFunctions

Defined in ​

src/Scene/commonSceneMethod.ts:43


renderNrrdVolume ​

• Protected renderNrrdVolume: boolean = false

Inherited from ​

baseScene.renderNrrdVolume

Defined in ​

src/Scene/commonSceneMethod.ts:41


renderer ​

• renderer: WebGLRenderer

Inherited from ​

baseScene.renderer

Defined in ​

src/Scene/baseScene.ts:12


scene ​

• scene: Scene<Object3DEventMap>

Inherited from ​

baseScene.scene

Defined in ​

src/Scene/commonSceneMethod.ts:29


sceneName ​

• sceneName: string = ""

Inherited from ​

baseScene.sceneName

Defined in ​

src/Scene/baseScene.ts:15


sort ​

• Protected sort: boolean = true

Inherited from ​

baseScene.sort

Defined in ​

src/Scene/commonSceneMethod.ts:44


subCamera ​

• subCamera: null | PerspectiveCamera = null

Inherited from ​

baseScene.subCamera

Defined in ​

src/Scene/commonSceneMethod.ts:37


subCopperControl ​

• Protected subCopperControl: null | Controls = null

Inherited from ​

baseScene.subCopperControl

Defined in ​

src/Scene/commonSceneMethod.ts:40


subDiv ​

• subDiv: null | HTMLDivElement = null

Inherited from ​

baseScene.subDiv

Defined in ​

src/Scene/commonSceneMethod.ts:35


subRender ​

• Protected subRender: null | WebGLRenderer = null

Inherited from ​

baseScene.subRender

Defined in ​

src/Scene/commonSceneMethod.ts:39


subScene ​

• subScene: Scene<Object3DEventMap>

Inherited from ​

baseScene.subScene

Defined in ​

src/Scene/commonSceneMethod.ts:36


surfaceAnnotators ​

• Private surfaceAnnotators: SurfaceAnnotator[] = []

Defined in ​

src/Scene/copperScene.ts:38


viewPoint ​

• viewPoint: CameraViewPoint

Inherited from ​

baseScene.viewPoint

Defined in ​

src/Scene/baseScene.ts:24


vignette ​

• vignette: undefined | customMeshType

Inherited from ​

baseScene.vignette

Defined in ​

src/Scene/baseScene.ts:16

Methods ​

addLights ​

▸ addLights(): void

Returns ​

void

Inherited from ​

baseScene.addLights

Defined in ​

src/Scene/baseScene.ts:142


addObject ​

▸ addObject(obj): void

Parameters ​

NameType
objany

Returns ​

void

Inherited from ​

baseScene.addObject

Defined in ​

src/Scene/baseScene.ts:138


addPreRenderCallbackFunction ​

▸ addPreRenderCallbackFunction(callbackFunction): number

Registers a per-frame callback and returns its id, for removePreRenderCallbackFunction.

Parameters ​

NameType
callbackFunctionFunction

Returns ​

number

Inherited from ​

baseScene.addPreRenderCallbackFunction

Defined in ​

src/Scene/commonSceneMethod.ts:109


addSubView ​

▸ addSubView(): HTMLDivElement

create a new sub view to display models

Returns ​

HTMLDivElement

Inherited from ​

baseScene.addSubView

Defined in ​

src/Scene/commonSceneMethod.ts:159


createDemoMesh ​

▸ createDemoMesh(): void

Returns ​

void

Inherited from ​

baseScene.createDemoMesh

Defined in ​

src/Scene/commonSceneMethod.ts:82


createSurfaceAnnotator ​

▸ createSurfaceAnnotator(target, opts?): SurfaceAnnotator

Create an annotator on the surface of a given model (draw contours / place points / export coordinates). target can be a single Mesh, or a Group/Object3D (the mesh with the most vertices is chosen automatically). Reuses this scene's camera / container / controls; non-indexed geometry is welded and indexed automatically.

Parameters ​

NameType
targetObject3D<Object3DEventMap> | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>
opts?Omit<SurfaceAnnotatorOptions, "mesh" | "controls" | "container" | "scene" | "camera">

Returns ​

SurfaceAnnotator

Defined in ​

src/Scene/copperScene.ts:166


disposeSurfaceAnnotators ​

▸ disposeSurfaceAnnotators(): void

Dispose all annotators created on this scene (removes event listeners and annotation objects).

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:208


getCurrentMixer ​

▸ getCurrentMixer(): null | AnimationMixer<AnimationMixerEventMap>

Returns ​

null | AnimationMixer<AnimationMixerEventMap>

Defined in ​

src/Scene/copperScene.ts:591


getCurrentTime ​

▸ getCurrentTime(): number

Returns ​

number

Defined in ​

src/Scene/copperScene.ts:583


getDefaultViewPoint ​

▸ getDefaultViewPoint(): CameraViewPoint

Returns ​

CameraViewPoint

Inherited from ​

baseScene.getDefaultViewPoint

Defined in ​

src/Scene/baseScene.ts:113


getPlayRate ​

▸ getPlayRate(): number

Returns ​

number

Defined in ​

src/Scene/copperScene.ts:535


init ​

▸ init(): void

Returns ​

void

Inherited from ​

baseScene.init

Defined in ​

src/Scene/baseScene.ts:57


loadAligned4D ​

▸ loadAligned4D(opts, callback?): void

Load an aligned 4D scene: a cine MRI (one slice, N cardiac phases) rendered as a world-placed plane, plus 0..N deforming surface sequences (e.g. LV endo/epi). MRI and surfaces stay in their shared patient coordinate frame (no center/scale), and advance together off ONE shared frame clock. Returns a controller (play/pause/...).

Parameters ​

NameType
optsaligned4DOptsType
callback?(ctrl: Aligned4DController) => void

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:323


loadDicom ​

▸ loadDicom(urls, opts?): void

Parameters ​

NameType
urlsstring | string[]
opts?dicomLoaderOptsType

Returns ​

void

Inherited from ​

baseScene.loadDicom

Defined in ​

src/Scene/commonSceneMethod.ts:183


loadGltf ​

▸ loadGltf(url, callback?, opts?): void

Parameters ​

NameType
urlstring
callback?(content: Group<Object3DEventMap>) => void
opts?GltfLoadOpts

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:67


loadMetadataUrl ​

▸ loadMetadataUrl(url): void

Parameters ​

NameType
urlstring

Returns ​

void

Inherited from ​

baseScene.loadMetadataUrl

Defined in ​

src/Scene/baseScene.ts:71


loadNrrd ​

▸ loadNrrd(url, loadingBar, callback?, opts?): void

Loads an NRRD in the canonical voxel order (i -> patient Left, j -> Posterior, k -> Superior), whatever order its file stores; see copperNrrdLoader.

Parameters ​

NameType
urlstring
loadingBarloadingBarType
callback?(volume: any, nrrdMeshes: nrrdMeshesType, nrrdSlices: nrrdSliceType, gui?: GUI) => void
opts?optsType

Returns ​

void

Inherited from ​

baseScene.loadNrrd

Defined in ​

src/Scene/commonSceneMethod.ts:302


loadNrrdTexture3d ​

▸ loadNrrdTexture3d(url, callback?): void

Parameters ​

NameType
urlstring
callback?(volume: any, gui?: GUI) => void

Returns ​

void

Deprecated

Shows the file in its stored voxel order, not the canonical LPS order every other loader uses, with window and threshold values fixed for one demo case. Use loadNrrd (copperNrrdLoader) instead. Will be removed in a future major release.

Inherited from ​

baseScene.loadNrrdTexture3d

Defined in ​

src/Scene/commonSceneMethod.ts:330


loadOBJ ​

▸ loadOBJ(url, callback?, opts?): void

Parameters ​

NameType
urlstring
callback?(mesh: Group<Object3DEventMap>) => void
opts?Object
opts.colorstring

Returns ​

void

Inherited from ​

baseScene.loadOBJ

Defined in ​

src/Scene/commonSceneMethod.ts:342


loadPureGLB ​

▸ loadPureGLB(url, callback?, opts?, onError?): void

Parameters ​

NameType
urlstring
callback?(mesh: Group<Object3DEventMap>) => void
opts?Object
opts.colorstring
opts.enhanceMaterial?boolean
onError?(error: unknown) => void

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:116


loadRaw4DVolume ​

▸ loadRaw4DVolume(mhdUrls, opts?, callback?): void

Load a 4D volume sequence (.mhd/.raw per cardiac phase) and render it as a raycast volume. The returned controller runs no clock of its own — drive it with setFrame()/setPhase() so it can share a cardiac-phase clock with other modalities.

Parameters ​

NameType
mhdUrlsstring[]
opts?raw4DVolumeOptsType
callback?(ctrl: Raw4DVolumeController) => void

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:527


loadView ​

▸ loadView(viewpointData): void

Parameters ​

NameType
viewpointDataCameraViewPoint

Returns ​

void

Overrides ​

baseScene.loadView

Defined in ​

src/Scene/copperScene.ts:552


loadViewUrl ​

▸ loadViewUrl(url): void

Parameters ​

NameType
urlstring

Returns ​

void

Inherited from ​

baseScene.loadViewUrl

Defined in ​

src/Scene/baseScene.ts:88


loadVtk ​

▸ loadVtk(url): void

Parameters ​

NameType
urlstring

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:157


loadVtks ​

▸ loadVtks(models): void

Parameters ​

NameType
modelsvtkModels[]

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:213


onRenderCameraChange ​

▸ onRenderCameraChange(): void

Returns ​

void

Overrides ​

baseScene.onRenderCameraChange

Defined in ​

src/Scene/copperScene.ts:608


onWindowResize ​

▸ onWindowResize(): void

Returns ​

void

Inherited from ​

baseScene.onWindowResize

Defined in ​

src/Scene/baseScene.ts:221


pickAnnotatableMesh ​

▸ Private pickAnnotatableMesh(target): null | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>

Parameters ​

NameType
targetObject3D<Object3DEventMap>

Returns ​

null | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>

Defined in ​

src/Scene/copperScene.ts:188


pickModel ​

▸ pickModel(content, callback, options?): void

Parameters ​

NameType
contentGroup<Object3DEventMap>
callback(selectMesh: undefined | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>) => void
options?string[]

Returns ​

void

Inherited from ​

baseScene.pickModel

Defined in ​

src/Scene/commonSceneMethod.ts:117


pickSpecifiedModel ​

▸ pickSpecifiedModel(content, mousePosition): Object

Parameters ​

NameType
contentMesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap> | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]
mousePositionmouseMovePositionType

Returns ​

Object

NameType
intersectedObjectnull | Object3D<Object3DEventMap>
intersectsIntersection<Object3D<Object3DEventMap>>[]

Inherited from ​

baseScene.pickSpecifiedModel

Defined in ​

src/Scene/commonSceneMethod.ts:139


removeLights ​

▸ removeLights(): void

Returns ​

void

Inherited from ​

baseScene.removeLights

Defined in ​

src/Scene/baseScene.ts:173


removePreRenderCallbackFunction ​

▸ removePreRenderCallbackFunction(id): void

Parameters ​

NameType
idnumber

Returns ​

void

Inherited from ​

baseScene.removePreRenderCallbackFunction

Defined in ​

src/Scene/commonSceneMethod.ts:113


render ​

▸ render(time?): void

Parameters ​

NameType
time?number

Returns ​

void

Overrides ​

baseScene.render

Defined in ​

src/Scene/copperScene.ts:623


resetView ​

▸ resetView(): void

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:573


setDepth ​

▸ setDepth(value): void

Parameters ​

NameType
valuenumber

Returns ​

void

Inherited from ​

baseScene.setDepth

Defined in ​

src/Scene/commonSceneMethod.ts:97


setDicomFilesOrder ​

▸ setDicomFilesOrder(value): void

Parameters ​

NameType
value"ascending" | "descending"

Returns ​

void

Inherited from ​

baseScene.setDicomFilesOrder

Defined in ​

src/Scene/commonSceneMethod.ts:100


setModelPosition ​

▸ setModelPosition(model, position): void

Parameters ​

NameType
modelGroup<Object3DEventMap> | Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>
positionObject
position.x?number
position.y?number
position.z?number

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:543


setPlayRate ​

▸ setPlayRate(playRate): void

Parameters ​

NameType
playRatenumber

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:539


setViewPoint ​

▸ setViewPoint(camera, target?): CameraViewPoint

Parameters ​

NameType
cameraPerspectiveCamera
target?number[]

Returns ​

CameraViewPoint

Inherited from ​

baseScene.setViewPoint

Defined in ​

src/Scene/baseScene.ts:117


updateBackground ​

▸ updateBackground(color1, color2): void

Parameters ​

NameType
color1string
color2string

Returns ​

void

Inherited from ​

baseScene.updateBackground

Defined in ​

src/Scene/baseScene.ts:201


updateCamera ​

▸ updateCamera(viewpoint): void

Parameters ​

NameType
viewpointCameraViewPoint

Returns ​

void

Defined in ​

src/Scene/copperScene.ts:578


updateControls ​

▸ updateControls(camera): void

Parameters ​

NameType
cameraPerspectiveCamera | OrthographicCamera

Returns ​

void

Overrides ​

baseScene.updateControls

Defined in ​

src/Scene/copperScene.ts:595


updateDisplay ​

▸ updateDisplay(state): void

Parameters ​

NameType
statebaseStateType

Returns ​

void

Inherited from ​

baseScene.updateDisplay

Defined in ​

src/Scene/baseScene.ts:196


updateLights ​

▸ updateLights(state): void

Parameters ​

NameType
statebaseStateType

Returns ​

void

Inherited from ​

baseScene.updateLights

Defined in ​

src/Scene/baseScene.ts:179


updateModelChildrenVisualisation ​

▸ updateModelChildrenVisualisation(child): void

Parameters ​

NameType
childMesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>

Returns ​

void

Inherited from ​

baseScene.updateModelChildrenVisualisation

Defined in ​

src/Scene/baseScene.ts:206