diff --git a/packages/viewer/example/example.html b/packages/viewer/example/example.html index 56b938bbf..082489bca 100644 --- a/packages/viewer/example/example.html +++ b/packages/viewer/example/example.html @@ -28,10 +28,11 @@ +
- +
diff --git a/packages/viewer/src/app.js b/packages/viewer/src/app.js index cbca76ae9..412399ed1 100644 --- a/packages/viewer/src/app.js +++ b/packages/viewer/src/app.js @@ -11,7 +11,23 @@ window.addEventListener( 'load', () => { const token = 'e844747dc6f6b0b5c7d5fbd82d66de6e9529531d75' -window.LoadData = async function LoadData( url ) { +window.loadData = async function LoadData( url ) { url = url || document.getElementById( 'objectUrlInput' ).value await v.loadObject( url, token ) } + +window.viewerScreenshot = function() { + let data = v.interactions.screenshot() // transparent png. + + let pop = window.open() + pop.document.title = 'super screenshot' + pop.document.body.style.backgroundColor = 'grey' + + let img = new Image() + img.src = data + pop.document.body.appendChild( img ) +} + +window.zoomFast = function(){ + v.interactions.zoomExtents( 0.95, false ) +} diff --git a/packages/viewer/src/assets/example.html b/packages/viewer/src/assets/example.html index 5267fb546..c2200cebb 100644 --- a/packages/viewer/src/assets/example.html +++ b/packages/viewer/src/assets/example.html @@ -28,10 +28,11 @@ +
- +
diff --git a/packages/viewer/src/modules/InteractionHandler.js b/packages/viewer/src/modules/InteractionHandler.js index d755e8ffe..ef2b531a6 100644 --- a/packages/viewer/src/modules/InteractionHandler.js +++ b/packages/viewer/src/modules/InteractionHandler.js @@ -150,6 +150,6 @@ export default class InteractionHandler { } screenshot() { - return this.viewer.renderer.domElement.toDataUrl() + return this.viewer.renderer.domElement.toDataURL( 'image/png' ) } } diff --git a/packages/viewer/src/modules/Viewer.js b/packages/viewer/src/modules/Viewer.js index 18fbd0b0c..ab58d2f3b 100644 --- a/packages/viewer/src/modules/Viewer.js +++ b/packages/viewer/src/modules/Viewer.js @@ -26,7 +26,7 @@ export default class Viewer extends EventEmitter { this.camera.position.set( 1, 1, 1 ) this.camera.updateProjectionMatrix() - this.renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } ) + this.renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true, preserveDrawingBuffer: true } ) this.renderer.setClearColor( 0xcccccc, 0 ) this.renderer.setPixelRatio( window.devicePixelRatio ) this.renderer.setSize( this.container.offsetWidth, this.container.offsetHeight ) @@ -44,7 +44,7 @@ export default class Viewer extends EventEmitter { CameraControls.install( { THREE: THREE } ) this.controls = new CameraControls( this.camera, this.renderer.domElement ) - // this.controls.maxPolarAngle = Math.PI / 2 + this.controls.maxPolarAngle = Math.PI / 2 this.composer = new EffectComposer( this.renderer )