diff --git a/packages/frontend/src/components/Renderer.vue b/packages/frontend/src/components/Renderer.vue index 856618d0f..0b51b0532 100644 --- a/packages/frontend/src/components/Renderer.vue +++ b/packages/frontend/src/components/Renderer.vue @@ -328,6 +328,7 @@ export default { // - juggle the container div out of this component's dom when the component is managed out by vue // - juggle the container div back in of this component's dom when it's back. let renderDomElement = document.getElementById('renderer') + this.hasLoadedModel = false if (!renderDomElement) { renderDomElement = document.createElement('div') @@ -342,26 +343,23 @@ export default { window.__viewer = new Viewer({ container: renderDomElement, showStats: false }) } - window.__viewer.onWindowResize() window.__viewer.onWindowResize() window.__viewer.cameraHandler.onWindowResize() if (window.__viewerLastLoadedUrl !== this.objectUrl) { - window.__viewerLastLoadedUrl = null await this.getPreviewImage() - await window.__viewer.unloadAll() + if (window.__viewerLastLoadedUrl && !this.hasLoadedModel) { + // console.log('unloading') + await window.__viewer.unloadAll() + } + window.__viewerLastLoadedUrl = null } else { this.hasLoadedModel = true this.loadProgress = 100 this.setupEvents() } - let persp = localStorage.getItem('cameramode') - if (!persp) { - this.perspectiveMode = true - } else { - this.perspectiveMode = persp === 'perspective' - } + if (window.__viewer.cameraHandler.activeCam === 'ortho') this.perspectiveMode = false }, beforeDestroy() { // NOTE: here's where we juggle the container div out, and do cleanup on the @@ -392,7 +390,6 @@ export default { toggleCamera() { window.__viewer.toggleCameraProjection() this.perspectiveMode = !this.perspectiveMode - localStorage.setItem('cameramode', this.perspectiveMode === true ? 'perspective' : 'ortho') }, zoomEx() { window.__viewer.interactions.zoomExtents() diff --git a/packages/viewer/src/modules/converter/Converter.js b/packages/viewer/src/modules/converter/Converter.js index f7e50aa5d..1c658346c 100644 --- a/packages/viewer/src/modules/converter/Converter.js +++ b/packages/viewer/src/modules/converter/Converter.js @@ -46,7 +46,7 @@ export default class Coverter { await this.asyncPause() // Exit on primitives (string, ints, bools, bigints, etc.) - if ( typeof obj !== 'object' ) return + if ( obj === null || typeof obj !== 'object' ) return if ( obj.referencedId ) obj = await this.resolveReference( obj ) let childrenConversionPromisses = []