UNPKG

polygonjs-engine

Version:

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

35 lines (26 loc) 824 B
import {Object3D} from 'three/src/core/Object3D'; export class CSS2DObject extends Object3D { constructor(protected _element: HTMLElement) { super(); this._element.style.position = 'absolute'; this.addEventListener('removed', this._on_removed.bind(this)); } private _on_removed() { this.traverse(function (object) { if (object instanceof CSS2DObject) { if (object.element instanceof Element && object.element.parentNode !== null) { object.element.parentNode.removeChild(object.element); } } }); } get element() { return this._element; } copy(source: CSS2DObject, recursive: boolean) { Object3D.prototype.copy.call(this, source, recursive); this._element = source.element.cloneNode(true) as HTMLElement; this.matrixAutoUpdate = source.matrixAutoUpdate; return this; } }