copper3d / Modules / Controls/Copper3dOrbitControls / Copper3dOrbitControls
Class: Copper3dOrbitControls
Controls/Copper3dOrbitControls.Copper3dOrbitControls
Hierarchy
OrbitControls↳
Copper3dOrbitControls
Table of contents
Constructors
Properties
- _currentPreset
- _dist
- _onStart
- _pivot
- autoRotate
- autoRotateSpeed
- cursor
- dampingFactor
- domElement
- enableDamping
- enablePan
- enableRotate
- enableZoom
- enabled
- keyPanSpeed
- keyRotateSpeed
- keys
- maxAzimuthAngle
- maxDistance
- maxPolarAngle
- maxTargetRadius
- maxZoom
- minAzimuthAngle
- minDistance
- minPolarAngle
- minTargetRadius
- minZoom
- mouseButtons
- object
- panSpeed
- position0
- rotateSpeed
- screenSpacePanning
- target
- target0
- touches
- zoom0
- zoomSpeed
- zoomToCursor
Accessors
Methods
- addEventListener
- applyView
- connect
- disconnect
- dispatchEvent
- dispose
- dollyIn
- dollyOut
- frameBox
- getAzimuthalAngle
- getDistance
- getPolarAngle
- hasEventListener
- listenToKeyEvents
- pan
- refreshPole
- removeEventListener
- reset
- rotateLeft
- rotateUp
- saveState
- setPivot
- stopListenToKeyEvents
- update
Constructors
constructor
• new Copper3dOrbitControls(camera, domElement)
Parameters
| Name | Type |
|---|---|
camera | PerspectiveCamera | OrthographicCamera |
domElement | HTMLElement |
Overrides
OrbitControls.constructor
Defined in
src/Controls/Copper3dOrbitControls.ts:41
Properties
_currentPreset
• Private _currentPreset: null | CameraViewPreset = null
Defined in
src/Controls/Copper3dOrbitControls.ts:38
_dist
• Private _dist: number = 600
Defined in
src/Controls/Copper3dOrbitControls.ts:37
_onStart
• Private Readonly _onStart: () => void
Type declaration
▸ (): void
Returns
void
Defined in
src/Controls/Copper3dOrbitControls.ts:39
_pivot
• Private _pivot: Vector3
Defined in
src/Controls/Copper3dOrbitControls.ts:36
autoRotate
• autoRotate: boolean
Set to true to automatically rotate around the target. Note that if this is enabled, you must call .update() in your animation loop. If you want the auto-rotate speed to be independent of the frame rate (the refresh rate of the display), you must pass the time deltaTime, in seconds, to .update().
Inherited from
OrbitControls.autoRotate
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:161
autoRotateSpeed
• autoRotateSpeed: number
How fast to rotate around the target if .autoRotate is true. Default is 2.0, which equates to 30 seconds per orbit at 60fps. Note that if .autoRotate is enabled, you must call .update() in your animation loop.
Inherited from
OrbitControls.autoRotateSpeed
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:168
cursor
• cursor: Vector3
The focus point of the .minTargetRadius and .maxTargetRadius limits. It can be updated manually at any point to change the center of interest for the .target.
Inherited from
OrbitControls.cursor
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:34
dampingFactor
• dampingFactor: number
The damping inertia used if .enableDamping is set to true. Default is 0.05. Note that for this to work, you must call .update() in your animation loop.
Inherited from
OrbitControls.dampingFactor
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:99
domElement
• domElement: null | HTMLElement | SVGElement
The HTML element used for event listeners. If not provided via the constructor, .connect must be called after domElement has been set.
Inherited from
OrbitControls.domElement
Defined in
node_modules/@types/three/src/extras/Controls.d.ts:22
enableDamping
• enableDamping: boolean
Set to true to enable damping (inertia), which can be used to give a sense of weight to the controls. Default is false. Note that if this is enabled, you must call .update() in your animation loop.
Inherited from
OrbitControls.enableDamping
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:93
enablePan
• enablePan: boolean
Enable or disable camera panning. Default is true.
Inherited from
OrbitControls.enablePan
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:132
enableRotate
• enableRotate: boolean
Enable or disable horizontal and vertical rotation of the camera. Default is true. Note that it is possible to disable a single axis by setting the min and max of the [polar angle].minPolarAngle or [azimuth angle].minAzimuthAngle to the same value, which will cause the vertical or horizontal rotation to be fixed at that value.
Inherited from
OrbitControls.enableRotate
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:117
enableZoom
• enableZoom: boolean
Enable or disable zooming (dollying) of the camera.
Inherited from
OrbitControls.enableZoom
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:104
enabled
• enabled: boolean
When set to false, the controls will not respond to user input. Default is true.
Inherited from
OrbitControls.enabled
Defined in
node_modules/@types/three/src/extras/Controls.d.ts:27
keyPanSpeed
• keyPanSpeed: number
How fast to pan the camera when the keyboard is used. Default is 7.0 pixels per keypress.
Inherited from
OrbitControls.keyPanSpeed
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:148
keyRotateSpeed
• keyRotateSpeed: number
How fast to rotate the camera when the keyboard is used. Default is 1.
Inherited from
OrbitControls.keyRotateSpeed
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:127
keys
• keys: Object
This object contains references to the keycodes for controlling camera panning. Default is the 4 arrow keys.
Type declaration
| Name | Type |
|---|---|
BOTTOM | string |
LEFT | string |
RIGHT | string |
UP | string |
Inherited from
OrbitControls.keys
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:173
maxAzimuthAngle
• maxAzimuthAngle: number
How far you can orbit horizontally, upper limit. If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ). Default is Infinity.
Inherited from
OrbitControls.maxAzimuthAngle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:86
maxDistance
• maxDistance: number
How far you can dolly out ( PerspectiveCamera only ). Default is Infinity.
Inherited from
OrbitControls.maxDistance
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:44
maxPolarAngle
• maxPolarAngle: number
How far you can orbit vertically, upper limit. Range is 0 to Math.PI radians, and default is Math.PI.
Inherited from
OrbitControls.maxPolarAngle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:74
maxTargetRadius
• maxTargetRadius: number
How far you can move the target from the 3D .cursor. Default is Infinity.
Inherited from
OrbitControls.maxTargetRadius
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:64
maxZoom
• maxZoom: number
How far you can zoom out ( OrthographicCamera only ). Default is Infinity.
Inherited from
OrbitControls.maxZoom
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:54
minAzimuthAngle
• minAzimuthAngle: number
How far you can orbit horizontally, lower limit. If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ). Default is Infinity.
Inherited from
OrbitControls.minAzimuthAngle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:80
minDistance
• minDistance: number
How far you can dolly in ( PerspectiveCamera only ). Default is 0.
Inherited from
OrbitControls.minDistance
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:39
minPolarAngle
• minPolarAngle: number
How far you can orbit vertically, lower limit. Range is 0 to Math.PI radians, and default is 0.
Inherited from
OrbitControls.minPolarAngle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:69
minTargetRadius
• minTargetRadius: number
How close you can get the target to the 3D .cursor. Default is 0.
Inherited from
OrbitControls.minTargetRadius
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:59
minZoom
• minZoom: number
How far you can zoom in ( OrthographicCamera only ). Default is 0.
Inherited from
OrbitControls.minZoom
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:49
mouseButtons
• mouseButtons: Object
This object contains references to the mouse actions used by the controls.
Type declaration
| Name | Type |
|---|---|
LEFT? | null | MOUSE |
MIDDLE? | null | MOUSE |
RIGHT? | null | MOUSE |
Inherited from
OrbitControls.mouseButtons
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:178
object
• object: Camera
The 3D object that is managed by the controls.
Inherited from
OrbitControls.object
Defined in
node_modules/@types/three/src/extras/Controls.d.ts:16
panSpeed
• panSpeed: number
Speed of panning. Default is 1.
Inherited from
OrbitControls.panSpeed
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:137
position0
• position0: Vector3
Used internally by the .saveState and .reset methods.
Inherited from
OrbitControls.position0
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:197
rotateSpeed
• rotateSpeed: number
Speed of rotation. Default is 1.
Inherited from
OrbitControls.rotateSpeed
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:122
screenSpacePanning
• screenSpacePanning: boolean
Defines how the camera's position is translated when panning. If true, the camera pans in screen space. Otherwise, the camera pans in the plane orthogonal to the camera's up direction. Default is true.
Inherited from
OrbitControls.screenSpacePanning
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:143
target
• target: Vector3
The focus point of the controls, the .object orbits around this. It can be updated manually at any point to change the focus of the controls.
Inherited from
OrbitControls.target
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:28
target0
• target0: Vector3
Used internally by the .saveState and .reset methods.
Inherited from
OrbitControls.target0
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:192
touches
• touches: Object
This object contains references to the touch actions used by the controls.
Type declaration
| Name | Type |
|---|---|
ONE? | null | TOUCH |
TWO? | null | TOUCH |
Inherited from
OrbitControls.touches
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:187
zoom0
• zoom0: number
Used internally by the .saveState and .reset methods.
Inherited from
OrbitControls.zoom0
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:202
zoomSpeed
• zoomSpeed: number
Speed of zooming / dollying. Default is 1.
Inherited from
OrbitControls.zoomSpeed
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:109
zoomToCursor
• zoomToCursor: boolean
Setting this property to true allows to zoom to the cursor's position. Default is false.
Inherited from
OrbitControls.zoomToCursor
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:153
Accessors
cursorStyle
• get cursorStyle(): "grab" | "auto"
Returns
"grab" | "auto"
Inherited from
OrbitControls.cursorStyle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:212
• set cursorStyle(type): void
Parameters
| Name | Type |
|---|---|
type | "grab" | "auto" |
Returns
void
Inherited from
OrbitControls.cursorStyle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:211
Methods
addEventListener
▸ addEventListener<T>(type, listener): void
Adds a listener to an event type.
Type parameters
| Name | Type |
|---|---|
T | extends keyof OrbitControlsEventMap |
Parameters
| Name | Type | Description |
|---|---|---|
type | T | The type of event to listen to. |
listener | EventListener<OrbitControlsEventMap[T], T, Copper3dOrbitControls> | The function that gets called when the event is fired. |
Returns
void
Inherited from
OrbitControls.addEventListener
Defined in
node_modules/@types/three/src/core/EventDispatcher.d.ts:52
applyView
▸ applyView(preset): void
Apply a view preset. Equivalent to copperScene.loadView but never touches up0. Authoritative + idempotent: saveState() at the end makes reset() mean "back to this view's initial framing".
Parameters
| Name | Type |
|---|---|
preset | CameraViewPreset |
Returns
void
Defined in
src/Controls/Copper3dOrbitControls.ts:119
connect
▸ connect(element): void
Connects the controls to the DOM. This method has so called "side effects" since it adds the module's event listeners to the DOM.
Parameters
| Name | Type |
|---|---|
element | HTMLElement | SVGElement |
Returns
void
Inherited from
OrbitControls.connect
Defined in
node_modules/@types/three/src/extras/Controls.d.ts:40
disconnect
▸ disconnect(): void
Disconnects the controls from the DOM.
Returns
void
Inherited from
OrbitControls.disconnect
Defined in
node_modules/@types/three/src/extras/Controls.d.ts:45
dispatchEvent
▸ dispatchEvent<T>(event): void
Fire an event type.
Type parameters
| Name | Type |
|---|---|
T | extends keyof OrbitControlsEventMap |
Parameters
| Name | Type | Description |
|---|---|---|
event | BaseEvent<T> & OrbitControlsEventMap[T] | The event that gets fired. |
Returns
void
Inherited from
OrbitControls.dispatchEvent
Defined in
node_modules/@types/three/src/core/EventDispatcher.d.ts:81
dispose
▸ dispose(): void
Returns
void
Overrides
OrbitControls.dispose
Defined in
src/Controls/Copper3dOrbitControls.ts:136
dollyIn
▸ dollyIn(dollyScale): void
Programmatically dolly in (zoom in for perspective camera).
Parameters
| Name | Type | Description |
|---|---|---|
dollyScale | number | The dolly scale factor. |
Returns
void
Inherited from
OrbitControls.dollyIn
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:264
dollyOut
▸ dollyOut(dollyScale): void
Programmatically dolly out (zoom out for perspective camera).
Parameters
| Name | Type | Description |
|---|---|---|
dollyScale | number | The dolly scale factor. |
Returns
void
Inherited from
OrbitControls.dollyOut
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:271
frameBox
▸ frameBox(box): void
Frame a bounding box: pivot = box centre, auto distance from box size and the camera's fov, min/max zoom limits, then re-apply the current view so near/far are recomputed for the new size. The caller supplies the box (e.g. the union of the three orthogonal NRRD slice planes) so this class stays engine-agnostic.
Perspective cameras only: auto-framing derives the distance from the vertical fov, which an OrthographicCamera does not have. Rather than silently produce a NaN camera position (model vanishes), we warn and skip for a non-perspective camera.
Parameters
| Name | Type |
|---|---|
box | Box3 |
Returns
void
Defined in
src/Controls/Copper3dOrbitControls.ts:93
getAzimuthalAngle
▸ getAzimuthalAngle(): number
Get the current horizontal rotation, in radians.
Returns
number
Inherited from
OrbitControls.getAzimuthalAngle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:222
getDistance
▸ getDistance(): number
Returns the distance from the camera to the target.
Returns
number
Inherited from
OrbitControls.getDistance
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:227
getPolarAngle
▸ getPolarAngle(): number
Get the current vertical rotation, in radians.
Returns
number
Inherited from
OrbitControls.getPolarAngle
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:217
hasEventListener
▸ hasEventListener<T>(type, listener): boolean
Checks if listener is added to an event type.
Type parameters
| Name | Type |
|---|---|
T | extends keyof OrbitControlsEventMap |
Parameters
| Name | Type | Description |
|---|---|---|
type | T | The type of event to listen to. |
listener | EventListener<OrbitControlsEventMap[T], T, Copper3dOrbitControls> | The function that gets called when the event is fired. |
Returns
boolean
Inherited from
OrbitControls.hasEventListener
Defined in
node_modules/@types/three/src/core/EventDispatcher.d.ts:62
listenToKeyEvents
▸ listenToKeyEvents(domElement): void
Adds key event listeners to the given DOM element. window is a recommended argument for using this method.
Parameters
| Name | Type |
|---|---|
domElement | Window | HTMLElement |
Returns
void
Inherited from
OrbitControls.listenToKeyEvents
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:233
pan
▸ pan(deltaX, deltaY): void
Programmatically pan the camera.
Parameters
| Name | Type | Description |
|---|---|---|
deltaX | number | The horizontal pan amount in pixels. |
deltaY | number | The vertical pan amount in pixels. |
Returns
void
Inherited from
OrbitControls.pan
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:257
refreshPole
▸ Private refreshPole(up): void
Rewrite OrbitControls' cached orbit-pole quaternion from the given up.
r170 caches _quat once in the constructor from object.up and never recomputes it in update() (OrbitControls.js:132 sets it; :299/:388 only consume it), so after a view change the pole would be stale. Writing these private fields is acceptable: three is version-pinned to 0.170.0.
Parameters
| Name | Type |
|---|---|
up | Vector3 |
Returns
void
Defined in
src/Controls/Copper3dOrbitControls.ts:149
removeEventListener
▸ removeEventListener<T>(type, listener): void
Removes a listener from an event type.
Type parameters
| Name | Type |
|---|---|
T | extends keyof OrbitControlsEventMap |
Parameters
| Name | Type | Description |
|---|---|---|
type | T | The type of the listener that gets removed. |
listener | EventListener<OrbitControlsEventMap[T], T, Copper3dOrbitControls> | The listener function that gets removed. |
Returns
void
Inherited from
OrbitControls.removeEventListener
Defined in
node_modules/@types/three/src/core/EventDispatcher.d.ts:72
reset
▸ reset(): void
Reset the controls to their state from either the last time the .saveState was called, or the initial state.
Returns
void
Inherited from
OrbitControls.reset
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:249
rotateLeft
▸ rotateLeft(angle): void
Programmatically rotate the camera left (around the vertical axis).
Parameters
| Name | Type | Description |
|---|---|---|
angle | number | The rotation angle in radians. |
Returns
void
Inherited from
OrbitControls.rotateLeft
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:278
rotateUp
▸ rotateUp(angle): void
Programmatically rotate the camera up (around the horizontal axis).
Parameters
| Name | Type | Description |
|---|---|---|
angle | number | The rotation angle in radians. |
Returns
void
Inherited from
OrbitControls.rotateUp
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:285
saveState
▸ saveState(): void
Save the current state of the controls. This can later be recovered with .reset.
Returns
void
Inherited from
OrbitControls.saveState
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:243
setPivot
▸ setPivot(pivot): void
The point rotation orbits; a rotate gesture snaps target back to it.
Parameters
| Name | Type |
|---|---|
pivot | Vector3 |
Returns
void
Defined in
src/Controls/Copper3dOrbitControls.ts:79
stopListenToKeyEvents
▸ stopListenToKeyEvents(): void
Removes the key event listener previously defined with .listenToKeyEvents().
Returns
void
Inherited from
OrbitControls.stopListenToKeyEvents
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:238
update
▸ update(deltaTime?): boolean
Update the controls. Must be called after any manual changes to the camera's transform, or in the update loop if .autoRotate or .enableDamping are set. deltaTime, in seconds, is optional, and is only required if you want the auto-rotate speed to be independent of the frame rate (the refresh rate of the display).
Parameters
| Name | Type |
|---|---|
deltaTime? | null | number |
Returns
boolean
Inherited from
OrbitControls.update
Defined in
node_modules/@types/three/examples/jsm/controls/OrbitControls.d.ts:292