UNPKG

threepipe

Version:

A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.

33 lines (27 loc) 862 B
import {Camera, Object3D} from 'three' import {IUiConfigContainer} from 'uiconfig.js' import {AHelperWidget} from './AHelperWidget' export abstract class ACameraHelperWidget extends AHelperWidget { camera: (Camera & IUiConfigContainer) | undefined protected constructor(object: Camera & IUiConfigContainer) { super(object) this.camera = object this.traverse(o => { o.userData.__keepShadowDef = true o.castShadow = false o.receiveShadow = false }) } preRender() { // req because its a camera if (!this.visible) return this._objectBeforeRender() } attach(object: Object3D): this { super.attach(object) // listening to cameraUpdate is not needed here return this } detach(): this { return super.detach() } }