feat(viewer): adds selection & doubleclick events
This commit is contained in:
@@ -17,6 +17,16 @@ window.loadData = async function LoadData( url ) {
|
||||
await v.loadObject( url, token )
|
||||
}
|
||||
|
||||
v.on( 'select', objects => {
|
||||
console.info( `Selection event. Current selection count: ${objects.length}.` )
|
||||
console.log( objects )
|
||||
} )
|
||||
|
||||
v.on( 'object-doubleclicked', obj => {
|
||||
console.info( 'Object double click event.' )
|
||||
console.log( obj )
|
||||
} )
|
||||
|
||||
window.viewerScreenshot = function() {
|
||||
let data = v.interactions.screenshot() // transparent png.
|
||||
|
||||
@@ -32,3 +42,4 @@ window.viewerScreenshot = function() {
|
||||
window.zoomFast = function(){
|
||||
v.interactions.zoomExtents( 0.95, false )
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import { getConversionFactor } from './Units'
|
||||
|
||||
/**
|
||||
* Utility class providing some top level conversion methods.
|
||||
* Warning: HIC SVNT DRACONES.
|
||||
*/
|
||||
export default class Coverter {
|
||||
|
||||
@@ -100,6 +101,7 @@ export default class Coverter {
|
||||
|
||||
/**
|
||||
* Directly converts an object and invokes the callback with the the conversion result.
|
||||
* If you don't know what you're doing, use traverseAndConvert() instead.
|
||||
* @param {[type]} obj [description]
|
||||
* @param {Function} callback [description]
|
||||
* @return {[type]} [description]
|
||||
|
||||
@@ -36,6 +36,7 @@ export default class InteractionHandler {
|
||||
if ( !objs || objs.length === 0 ) this.zoomExtents()
|
||||
else this.zoomToObject( objs[0].object )
|
||||
this.viewer.needsRender = true
|
||||
this.viewer.emit( 'object-doubleclicked', objs[0].object )
|
||||
}
|
||||
|
||||
_handleSelect( objs ) {
|
||||
@@ -66,11 +67,13 @@ export default class InteractionHandler {
|
||||
box.material = this.selectionEdgesMaterial
|
||||
this.selectedObjects.add( box )
|
||||
this.viewer.needsRender = true
|
||||
this.viewer.emit( 'select', this.selectedObjects.children.filter( o => o.type !== 'BoxHelper' ) )
|
||||
}
|
||||
|
||||
deselectObjects() {
|
||||
this.selectedObjects.clear()
|
||||
this.viewer.needsRender = true
|
||||
this.viewer.emit( 'select', this.selectedObjects.children.filter( o => o.type !== 'BoxHelper' ) )
|
||||
}
|
||||
|
||||
toggleSectionBox() {
|
||||
|
||||
Reference in New Issue
Block a user