浏览代码

Add html dialog wrapper in ui plugins, minor fix

master
Palash Bansal 11 个月前
父节点
当前提交
05d99d7a54
没有帐户链接到提交者的电子邮件

+ 10
- 2
plugins/blueprintjs/src/BlueprintJsUiPlugin.ts 查看文件

@@ -10,11 +10,18 @@ import {
IViewerPlugin,
IViewerPluginSync,
Texture,
ThreeViewer, UndoManagerPlugin,
ThreeViewer,
UndoManagerPlugin,
uploadFile,
Vector2,
Vector3,
Vector4, UiObjectConfig, WebGLCubeRenderTarget, WebGLMultipleRenderTargets, WebGLRenderTarget,
Vector4,
UiObjectConfig,
WebGLCubeRenderTarget,
WebGLMultipleRenderTargets,
WebGLRenderTarget,
windowDialogWrapper,
htmlDialogWrapper,
} from 'threepipe'

export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IViewerPluginSync {
@@ -49,6 +56,7 @@ export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IV
viewer.addEventListener('postRender', this._postRender)
viewer.addEventListener('preFrame', this._preFrame)
viewer.addEventListener('postFrame', this._postFrame)
if (ThreeViewer.Dialog === windowDialogWrapper) ThreeViewer.Dialog = htmlDialogWrapper
const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency
const manager = undo?.undoManager
if (manager) {

+ 7
- 6
plugins/path-tracing/src/ThreeGpuPathTracerPlugin.ts 查看文件

@@ -16,12 +16,6 @@ import {
import {WebGLPathTracer} from 'three-gpu-pathtracer'
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
*
@@ -414,5 +408,12 @@ export class ThreeGpuPathTracerPlugin extends AViewerPluginSync {
// 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')
}
}


+ 7
- 4
plugins/tweakpane/src/TweakpaneUiPlugin.ts 查看文件

@@ -8,24 +8,26 @@ import {
CustomContextMenu,
downloadBlob,
getOrCall,
htmlDialogWrapper,
IEvent,
IViewerPlugin,
IViewerPluginSync,
mobileAndTabletCheck,
onChange,
Texture,
ThreeViewer,
uiDropdown,
uiFolderContainer,
UiObjectConfig,
UndoManagerPlugin,
uploadFile,
Vector2,
Vector3,
Texture,
Vector4,
UndoManagerPlugin,
WebGLRenderTarget,
WebGLCubeRenderTarget,
WebGLMultipleRenderTargets,
mobileAndTabletCheck,
WebGLRenderTarget,
windowDialogWrapper,
} from 'threepipe'
import styles from './tpTheme.css?inline'
import {tpImageInputGenerator} from './tpImageInputGenerator'
@@ -75,6 +77,7 @@ export class TweakpaneUiPlugin extends UiConfigRendererTweakpane implements IVie
viewer.addEventListener('postRender', this._postRender)
viewer.addEventListener('preFrame', this._preFrame)
viewer.addEventListener('postFrame', this._postFrame)
if (ThreeViewer.Dialog === windowDialogWrapper) ThreeViewer.Dialog = htmlDialogWrapper
const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency
if (undo?.undoManager) {
this._lastManager?.dispose()

正在加载...
取消
保存