Skip to content

copper3d / Modules / Scene/copperSceneOnDemond / copperSceneOnDemond

Class: copperSceneOnDemond

Scene/copperSceneOnDemond.copperSceneOnDemond

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new copperSceneOnDemond(container, renderer, opt?)

opt.controls picks the controls class, as it already did on copperScene. New in 3.9.0 -- this class hardcoded OrbitControls before, so passing the option produced no error and no effect.

The DEFAULT stays OrbitControls, which is what this class has always built. It differs from copperScene's default (Copper3dTrackballControls) on purpose: changing it would silently swap the controls under every existing on-demand viewer.

Note that the renderer's own options.controls is deliberately NOT consulted. It has never had any effect here, so honouring it now would change behaviour for anyone who set it and never noticed.

Parameters

NameType
containerHTMLDivElement
rendererWebGLRenderer
opt?ICopperSceneOpts

Overrides

baseScene.constructor

Defined in

src/Scene/copperSceneOnDemond.ts:37

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


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/copperSceneOnDemond.ts:19


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


isResize

isResize: boolean = false

Defined in

src/Scene/copperSceneOnDemond.ts:21


pickableObjects

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

Inherited from

baseScene.pickableObjects

Defined in

src/Scene/commonSceneMethod.ts:47


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


renderRequested

renderRequested: undefined | boolean = false

Defined in

src/Scene/copperSceneOnDemond.ts:20


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


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


confirmResize

confirmResize(): void

Returns

void

Defined in

src/Scene/copperSceneOnDemond.ts:153


createDemoMesh

createDemoMesh(): void

Returns

void

Inherited from

baseScene.createDemoMesh

Defined in

src/Scene/commonSceneMethod.ts:82


dispose

dispose(): void

Releases what this scene attached OUTSIDE itself.

The resize listener the constructor puts on window used to have no counterpart: every scene ever created stayed subscribed for the life of the page, kept alive by the closure, and went on calling requestRenderIfNotRequested -- and so onWindowResize, which resizes the SHARED renderer -- long after it stopped being displayed. An app that creates a scene per case leaks one of those per case.

Does not touch the scene graph or the renderer: what a scene's contents are worth keeping is the caller's decision, and the renderer is shared with every other scene. disposeScene(renderer, name) is the one that tears the contents down.

Deliberately NOT controls.dispose(). That path ends in domElement.style.touchAction = "", and every scene here shares one canvas -- only connect() sets it back to "none". Disposing one scene's controls would kill touch rotation on the canvas for the rest of the session. Disabling them is enough.

Safe to call twice.

Returns

void

Defined in

src/Scene/copperSceneOnDemond.ts:181


fitView

fitView(preset, aspect, bounds, margin?): boolean

Re-frames the camera on bounds, keeping the preset's view direction and up and replacing only its distance. Returns false when there is nothing to do -- an orthographic camera (no field of view to fit against), or a preset whose eye sits exactly on its target.

Does not render: the caller decides when to draw, which matters here because this scene renders on demand.

Parameters

NameType
presetCameraViewPoint
aspectnumber
boundsFitBounds
margin?number

Returns

boolean

Defined in

src/Scene/copperSceneOnDemond.ts:122


getDefaultViewPoint

getDefaultViewPoint(): CameraViewPoint

Returns

CameraViewPoint

Inherited from

baseScene.getDefaultViewPoint

Defined in

src/Scene/baseScene.ts:113


init

init(): void

Returns

void

Inherited from

baseScene.init

Defined in

src/Scene/baseScene.ts:57


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/copperSceneOnDemond.ts:70


loadMetadataUrl

loadMetadataUrl(url): void

Parameters

NameType
urlstring

Returns

void

Inherited from

baseScene.loadMetadataUrl

Defined in

src/Scene/baseScene.ts:71


loadNrrd

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

Parameters

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

Returns

void

Inherited from

baseScene.loadNrrd

Defined in

src/Scene/commonSceneMethod.ts:299


loadNrrdTexture3d

loadNrrdTexture3d(url, callback?): void

Parameters

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

Returns

void

Inherited from

baseScene.loadNrrdTexture3d

Defined in

src/Scene/commonSceneMethod.ts:323


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:335


loadView

loadView(viewpointData): void

Parameters

NameType
viewpointDataCameraViewPoint

Returns

void

Inherited from

baseScene.loadView

Defined in

src/Scene/baseScene.ts:100


loadViewUrl

loadViewUrl(url): void

Parameters

NameType
urlstring

Returns

void

Inherited from

baseScene.loadViewUrl

Defined in

src/Scene/baseScene.ts:88


onRenderCameraChange

onRenderCameraChange(): void

Returns

void

Inherited from

baseScene.onRenderCameraChange

Defined in

src/Scene/baseScene.ts:215


onWindowResize

onWindowResize(): void

Returns

void

Inherited from

baseScene.onWindowResize

Defined in

src/Scene/baseScene.ts:221


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(): void

Returns

void

Overrides

baseScene.render

Defined in

src/Scene/copperSceneOnDemond.ts:193


requestRenderIfNotRequested

requestRenderIfNotRequested(): void

Returns

void

Defined in

src/Scene/copperSceneOnDemond.ts:200


setCameraPose

setCameraPose(pose): void

Moves the camera to pose and syncs the controls' orbit pivot with it. Without that last part the next drag silently undoes the move -- see Controls/setCameraPose.ts.

Does not render; the caller decides when to draw.

Parameters

NameType
posePose

Returns

void

Defined in

src/Scene/copperSceneOnDemond.ts:149


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


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


updateControls

updateControls(camera): void

Parameters

NameType
cameraPerspectiveCamera | OrthographicCamera

Returns

void

Inherited from

baseScene.updateControls

Defined in

src/Scene/commonSceneMethod.ts:314


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