Skip to content

editorGlobalsCameraMotion

Class: CameraMotion

Hierarchy

  • CameraMotion

Index

Constructors

Properties

Methods

Constructors

constructor

+ new CameraMotion(camera: PerspectiveCamera, sceneBackground: SceneBackground): CameraMotion

Defined in src/renderContext/CameraMotion.ts:64

Parameters:

Name Type
camera PerspectiveCamera
sceneBackground SceneBackground

Returns: CameraMotion

Properties

Private adaptedRotation

adaptedRotation: Vector3 = null

Defined in src/renderContext/CameraMotion.ts:35


Private animationFinished

animationFinished: boolean = true

Defined in src/renderContext/CameraMotion.ts:62


Private cameraAboveObjectConstraint

cameraAboveObjectConstraint: number = 0

Defined in src/renderContext/CameraMotion.ts:41


Private combinedMinimumViewportAABB

combinedMinimumViewportAABB: AABB | null

Defined in src/renderContext/CameraMotion.ts:32


Private debouncedSceneCameraAnimation

debouncedSceneCameraAnimation: function = null

Defined in src/renderContext/CameraMotion.ts:54

Type declaration:

▸ (cameraPosition: Vector3, cameraRotation: Quaternion, movementPhysicsAdjustmentImmediate: boolean): Promise‹any›

Parameters:

Name Type
cameraPosition Vector3
cameraRotation Quaternion
movementPhysicsAdjustmentImmediate boolean

Private hysteresisDuration

hysteresisDuration: number = 0

Defined in src/renderContext/CameraMotion.ts:47


Private hysteresisMethod

hysteresisMethod: HysteresisMethod

Defined in src/renderContext/CameraMotion.ts:48


Private marginBottom

marginBottom: number = 0

Defined in src/renderContext/CameraMotion.ts:38


Private marginLeft

marginLeft: number = 0

Defined in src/renderContext/CameraMotion.ts:39


Private marginRight

marginRight: number = 0

Defined in src/renderContext/CameraMotion.ts:40


Private marginTop

marginTop: number = 0

Defined in src/renderContext/CameraMotion.ts:37


Private minimumViewportAABBs

minimumViewportAABBs: AABB[] = []

Defined in src/renderContext/CameraMotion.ts:30


Private movementPhysicsAdjustmentImmediate

movementPhysicsAdjustmentImmediate: boolean = true

Defined in src/renderContext/CameraMotion.ts:61


Private movingCameraToDefaultPosition

movingCameraToDefaultPosition: boolean = false

Defined in src/renderContext/CameraMotion.ts:64


Private previousCameraPosition

previousCameraPosition: Vector3 | null

Defined in src/renderContext/CameraMotion.ts:33


Private sceneBackground

sceneBackground: SceneBackground

Defined in src/renderContext/CameraMotion.ts:27


Private targetPosition

targetPosition: Vector3

Defined in src/renderContext/CameraMotion.ts:49


Private toleranceBack

toleranceBack: number = 0

Defined in src/renderContext/CameraMotion.ts:46


Private toleranceDown

toleranceDown: number = 0

Defined in src/renderContext/CameraMotion.ts:44


Private toleranceFront

toleranceFront: number = 0

Defined in src/renderContext/CameraMotion.ts:45


Private toleranceUp

toleranceUp: number = 0

Defined in src/renderContext/CameraMotion.ts:43


Private toolInteraction

toolInteraction: boolean = false

Defined in src/renderContext/CameraMotion.ts:52

Tools can prevent camera movement by setting this to true


Private vCamera

vCamera: PerspectiveCamera

Defined in src/renderContext/CameraMotion.ts:26


Private zoomInAllowed

zoomInAllowed: boolean = true

Defined in src/renderContext/CameraMotion.ts:60

Methods

Private _calculateCameraCenter

_calculateCameraCenter(assemblies: Assembly[]): Vector3

Defined in src/renderContext/CameraMotion.ts:495

Parameters:

Name Type
assemblies Assembly[]

Returns: Vector3


Private _getWorldAABBOfAssemblies

_getWorldAABBOfAssemblies(assemblies: Assembly[]): AABB

Defined in src/renderContext/CameraMotion.ts:524

Parameters:

Name Type
assemblies Assembly[]

Returns: AABB


Private _moveCameraToFitBounds

_moveCameraToFitBounds(aabbs: AABB[], assemblyPoints: Vector3[], center: Vector3, portrait: boolean, cameraPosition: Vector3, immediately: boolean): Promise‹any›

Defined in src/renderContext/CameraMotion.ts:293

Parameters:

Name Type
aabbs AABB[]
assemblyPoints Vector3[]
center Vector3
portrait boolean
cameraPosition Vector3
immediately boolean

Returns: Promise‹any›


Private _updateCombinedMinimumViewportAABB

_updateCombinedMinimumViewportAABB(): void

Defined in src/renderContext/CameraMotion.ts:485

Returns: void


adaptRotationAngle

adaptRotationAngle(rotationAngle: Vector3): void

Defined in src/renderContext/CameraMotion.ts:283

Parameters:

Name Type
rotationAngle Vector3

Returns: void


addMinimumViewportAABB

addMinimumViewportAABB(aabb: AABB): void

Defined in src/renderContext/CameraMotion.ts:175

Parameters:

Name Type Description
aabb AABB an AABB that describes the minimal visible viewport

Returns: void


allowZoomIn

allowZoomIn(): void

Defined in src/renderContext/CameraMotion.ts:271

Returns: void


deferPhysicsAdjustment

deferPhysicsAdjustment(): void

Defined in src/renderContext/CameraMotion.ts:279

Returns: void


disallowZoomIn

disallowZoomIn(): void

Defined in src/renderContext/CameraMotion.ts:267

Returns: void


immediatePhysicsAdjustment

immediatePhysicsAdjustment(): void

Defined in src/renderContext/CameraMotion.ts:275

Returns: void


moveCameraToFitManualNestingIfNecessary

moveCameraToFitManualNestingIfNecessary(nestingAreaAABB: AABB[], cameraPosition: Vector3, immediately: boolean, portrait: boolean): Promise‹any›

Defined in src/renderContext/CameraMotion.ts:247

Parameters:

Name Type Default
nestingAreaAABB AABB[] -
cameraPosition Vector3 -
immediately boolean false
portrait boolean false

Returns: Promise‹any›


moveCameraToFitModelSizeIfNecessary

moveCameraToFitModelSizeIfNecessary(assemblies: Assembly[], cameraPosition: Vector3, immediately: boolean, portrait: boolean): Promise‹any›

Defined in src/renderContext/CameraMotion.ts:204

Calculates all camera positions and moves the camera to the correct position. Algorithm goes as follows: - get the initial camera position (always the same, reset it in every call) - adjust the position until the model fits - adjust the camera to the position

Parameters:

Name Type Default Description
assemblies Assembly[] - -
cameraPosition Vector3 - -
immediately boolean false If true, the change will not be debounced or anything.
portrait boolean false -

Returns: Promise‹any›


removeAdaptedRotationAngle

removeAdaptedRotationAngle(): void

Defined in src/renderContext/CameraMotion.ts:289

Returns: void


removeMinimumViewportAABB

removeMinimumViewportAABB(aabb: AABB): void

Defined in src/renderContext/CameraMotion.ts:182

Parameters:

Name Type
aabb AABB

Returns: void


resetMinimumViewportAABB

resetMinimumViewportAABB(): void

Defined in src/renderContext/CameraMotion.ts:190

Returns: void


setCamera

setCamera(camera: PerspectiveCamera): void

Defined in src/renderContext/CameraMotion.ts:123

Parameters:

Name Type
camera PerspectiveCamera

Returns: void


setToolInteraction

setToolInteraction(value: boolean): void

Defined in src/renderContext/CameraMotion.ts:119

Parameters:

Name Type Default
value boolean true

Returns: void


updateHysteresisMethod

updateHysteresisMethod(duration: number, method: HysteresisMethod | null | undefined): void

Defined in src/renderContext/CameraMotion.ts:133

Parameters:

Name Type
duration number
method HysteresisMethod | null | undefined

Returns: void