Quellcode durchsuchen

Add ViewerUiConfigPlugin and SceneUiConfigPlugin for previewing in the editor.

master
Palash Bansal vor 2 Jahren
Ursprung
Commit
fe1f6e6d96
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
3 geänderte Dateien mit 52 neuen und 0 gelöschten Zeilen
  1. 5
    0
      src/plugins/index.ts
  2. 20
    0
      src/plugins/ui/SceneUiConfigPlugin.ts
  3. 27
    0
      src/plugins/ui/ViewerUiConfigPlugin.ts

+ 5
- 0
src/plugins/index.ts Datei anzeigen



// ui // ui
export {RenderTargetPreviewPlugin} from './ui/RenderTargetPreviewPlugin' export {RenderTargetPreviewPlugin} from './ui/RenderTargetPreviewPlugin'
export {ViewerUiConfigPlugin} from './ui/ViewerUiConfigPlugin'
export {SceneUiConfigPlugin} from './ui/SceneUiConfigPlugin'


// interaction // interaction
export {DropzonePlugin, type DropzonePluginOptions} from './interaction/DropzonePlugin' export {DropzonePlugin, type DropzonePluginOptions} from './interaction/DropzonePlugin'


// import // import
export {Rhino3dmLoadPlugin} from './import/Rhino3dmLoadPlugin' export {Rhino3dmLoadPlugin} from './import/Rhino3dmLoadPlugin'

// postprocessing
export {TonemapPlugin} from './postprocessing/TonemapPlugin'

+ 20
- 0
src/plugins/ui/SceneUiConfigPlugin.ts Datei anzeigen

import {AViewerPluginSync, ThreeViewer} from '../../viewer'
import {serialize} from 'ts-browser-helpers'
import {RootScene} from '../../core'

export class SceneUiConfigPlugin extends AViewerPluginSync<''> {
static readonly PluginType = 'SceneUiConfigPlugin'
enabled = true
serializeWithViewer = false
constructor() {
super()
this.uiConfig = {}
}
onAdded(viewer: ThreeViewer) {
super.onAdded(viewer)
this.uiConfig = viewer.scene.uiConfig
this._scene = viewer.scene
}
@serialize('scene')
protected _scene: RootScene | undefined
}

+ 27
- 0
src/plugins/ui/ViewerUiConfigPlugin.ts Datei anzeigen

import {AViewerPluginSync, ThreeViewer} from '../../viewer'
import {serialize} from 'ts-browser-helpers'

export class ViewerUiConfigPlugin extends AViewerPluginSync<''> {
static readonly PluginType = 'ViewerUiConfigPlugin'
enabled = true
serializeWithViewer = false
constructor() {
super()
this.uiConfig = {}
}
onAdded(viewer: ThreeViewer) {
super.onAdded(viewer)
this.uiConfig = viewer.uiConfig
}

@serialize('viewer')
protected _viewer: ThreeViewer | undefined // todo: fix deserialization throwing error

// toJSON(): any {
// return this._viewer?.toJSON() ?? {}
// }
// fromJSON(data: ISerializedViewerConfig, meta?: SerializationMetaType): this | null {
// this._viewer?.fromJSON(data, meta)
// return this
// }
}

Laden…
Abbrechen
Speichern