| IViewerPlugin, | IViewerPlugin, | ||||
| IViewerPluginSync, | IViewerPluginSync, | ||||
| Texture, | Texture, | ||||
| ThreeViewer, UndoManagerPlugin, | |||||
| ThreeViewer, | |||||
| UndoManagerPlugin, | |||||
| uploadFile, | uploadFile, | ||||
| Vector2, | Vector2, | ||||
| Vector3, | Vector3, | ||||
| Vector4, UiObjectConfig, WebGLCubeRenderTarget, WebGLMultipleRenderTargets, WebGLRenderTarget, | |||||
| Vector4, | |||||
| UiObjectConfig, | |||||
| WebGLCubeRenderTarget, | |||||
| WebGLMultipleRenderTargets, | |||||
| WebGLRenderTarget, | |||||
| windowDialogWrapper, | |||||
| htmlDialogWrapper, | |||||
| } from 'threepipe' | } from 'threepipe' | ||||
| export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IViewerPluginSync { | export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IViewerPluginSync { | ||||
| viewer.addEventListener('postRender', this._postRender) | viewer.addEventListener('postRender', this._postRender) | ||||
| viewer.addEventListener('preFrame', this._preFrame) | viewer.addEventListener('preFrame', this._preFrame) | ||||
| viewer.addEventListener('postFrame', this._postFrame) | viewer.addEventListener('postFrame', this._postFrame) | ||||
| if (ThreeViewer.Dialog === windowDialogWrapper) ThreeViewer.Dialog = htmlDialogWrapper | |||||
| const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency | const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency | ||||
| const manager = undo?.undoManager | const manager = undo?.undoManager | ||||
| if (manager) { | if (manager) { |
| import {WebGLPathTracer} from 'three-gpu-pathtracer' | import {WebGLPathTracer} from 'three-gpu-pathtracer' | ||||
| import {WebGLPathTracer2} from './WebGLPathTracer2' | import {WebGLPathTracer2} from './WebGLPathTracer2' | ||||
| // @ts-expect-error polyfill for new threejs | |||||
| Scene.prototype.backgroundRotation = new Euler(0, 0, 0, 'XYZ') | |||||
| // @ts-expect-error polyfill | |||||
| Scene.prototype.environmentRotation = new Euler(0, 0, 0, 'XYZ') | |||||
| /** | /** | ||||
| * ThreeGpuPathTracerPlugin | * ThreeGpuPathTracerPlugin | ||||
| * | * | ||||
| // this.tracer = undefined | // this.tracer = undefined | ||||
| } | } | ||||
| } | } | ||||
| static { | |||||
| // @ts-expect-error polyfill for new threejs | |||||
| Scene.prototype.backgroundRotation = new Euler(0, 0, 0, 'XYZ') | |||||
| // @ts-expect-error polyfill | |||||
| Scene.prototype.environmentRotation = new Euler(0, 0, 0, 'XYZ') | |||||
| } | |||||
| } | } | ||||
| CustomContextMenu, | CustomContextMenu, | ||||
| downloadBlob, | downloadBlob, | ||||
| getOrCall, | getOrCall, | ||||
| htmlDialogWrapper, | |||||
| IEvent, | IEvent, | ||||
| IViewerPlugin, | IViewerPlugin, | ||||
| IViewerPluginSync, | IViewerPluginSync, | ||||
| mobileAndTabletCheck, | |||||
| onChange, | onChange, | ||||
| Texture, | |||||
| ThreeViewer, | ThreeViewer, | ||||
| uiDropdown, | uiDropdown, | ||||
| uiFolderContainer, | uiFolderContainer, | ||||
| UiObjectConfig, | UiObjectConfig, | ||||
| UndoManagerPlugin, | |||||
| uploadFile, | uploadFile, | ||||
| Vector2, | Vector2, | ||||
| Vector3, | Vector3, | ||||
| Texture, | |||||
| Vector4, | Vector4, | ||||
| UndoManagerPlugin, | |||||
| WebGLRenderTarget, | |||||
| WebGLCubeRenderTarget, | WebGLCubeRenderTarget, | ||||
| WebGLMultipleRenderTargets, | WebGLMultipleRenderTargets, | ||||
| mobileAndTabletCheck, | |||||
| WebGLRenderTarget, | |||||
| windowDialogWrapper, | |||||
| } from 'threepipe' | } from 'threepipe' | ||||
| import styles from './tpTheme.css?inline' | import styles from './tpTheme.css?inline' | ||||
| import {tpImageInputGenerator} from './tpImageInputGenerator' | import {tpImageInputGenerator} from './tpImageInputGenerator' | ||||
| viewer.addEventListener('postRender', this._postRender) | viewer.addEventListener('postRender', this._postRender) | ||||
| viewer.addEventListener('preFrame', this._preFrame) | viewer.addEventListener('preFrame', this._preFrame) | ||||
| viewer.addEventListener('postFrame', this._postFrame) | viewer.addEventListener('postFrame', this._postFrame) | ||||
| if (ThreeViewer.Dialog === windowDialogWrapper) ThreeViewer.Dialog = htmlDialogWrapper | |||||
| const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency | const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency | ||||
| if (undo?.undoManager) { | if (undo?.undoManager) { | ||||
| this._lastManager?.dispose() | this._lastManager?.dispose() |