UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

58 lines (57 loc) 1.71 kB
"use strict"; import { NamedFunction2, NamedFunction3 } from "./_Base"; import { CAMERA_CONTROLS_EVENTS, CameraControlsEvent } from "../viewers/utils/ViewerControlsController"; export class setViewer extends NamedFunction2 { static type() { return "setViewer"; } func(className, addClass) { const viewer = this.scene.viewersRegister.firstViewer(); const canvas = viewer == null ? void 0 : viewer.canvas(); if (!canvas) { return; } if (viewer) { if (addClass) { canvas.classList.add(className); } else { canvas.classList.remove(className); } } } } export class setViewerControls extends NamedFunction3 { static type() { return "setViewerControls"; } func(active, updateTarget, controlsTarget) { const viewer = this.scene.viewersRegister.firstViewer(); if (!viewer) { return; } const controlsController = viewer.controlsController(); controlsController.setActive(active); if (updateTarget) { controlsController.setTarget(controlsTarget); } } } export class onViewerControlsEvent extends NamedFunction2 { static type() { return "onViewerControlsEvent"; } func(callbacks, evaluator) { const viewer = this.scene.viewersRegister.firstViewer(); if (!viewer) { return; } for (const eventName of CAMERA_CONTROLS_EVENTS) { viewer.controlsController().addEventListener(CameraControlsEvent[eventName], callbacks[eventName]); } evaluator.onDispose(() => { for (const eventName of CAMERA_CONTROLS_EVENTS) { viewer.controlsController().removeEventListener(CameraControlsEvent[eventName], callbacks[eventName]); } }); } }