threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
23 lines • 895 B
JavaScript
import { AViewerPluginSync } from '../../viewer';
export class ACameraControlsPlugin extends AViewerPluginSync {
constructor() {
super(...arguments);
this.enabled = true;
this.toJSON = undefined;
this._cameraChanged = (e) => {
e.lastCamera?.removeControlsCtor?.(this.controlsKey);
e.camera?.setControlsCtor?.(this.controlsKey, this._controlsCtor);
};
}
onAdded(viewer) {
super.onAdded(viewer);
this._cameraChanged({ camera: viewer.scene.mainCamera });
viewer.scene.addEventListener('mainCameraChange', this._cameraChanged);
}
onRemove(viewer) {
this._cameraChanged({ lastCamera: viewer.scene.mainCamera });
viewer.scene.removeEventListener('mainCameraChange', this._cameraChanged);
super.onRemove(viewer);
}
}
//# sourceMappingURL=ACameraControlsPlugin.js.map