improvement(viewer): selection events now emit actual object user metadata
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
<button onclick="viewerScreenshot()">Screenshot</button>
|
||||
</div>
|
||||
<div class="twelve columns">
|
||||
<input id="objectUrlInput" type="text" name="objectId" placeholder="Object Url" style="width:49%" value="https://staging.speckle.dev/streams/a75ab4f10f/objects/a59617590b0bec4e9b5ee487ee75b1a7"/>
|
||||
<input id="objectUrlInput" type="text" name="objectId" placeholder="Object Url" style="width:49%" value="https://latest.speckle.dev/streams/a6f96ea62c/objects/68d6535632dbf9aba06adae8a263c8e4"/>
|
||||
<button class="" onclick="loadData()" style="width:49%">Load Object URL</button>
|
||||
</div>
|
||||
<div class="twelve columns">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@speckle/viewer",
|
||||
"version": "2.0.2",
|
||||
"version": "2.0.4",
|
||||
"description": "A 3d viewer for Speckle, based on threejs.",
|
||||
"homepage": "https://speckle.systems",
|
||||
"repository": {
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<button onclick="viewerScreenshot()">Screenshot</button>
|
||||
</div>
|
||||
<div class="twelve columns">
|
||||
<input id="objectUrlInput" type="text" name="objectId" placeholder="Object Url" style="width:49%" value="https://staging.speckle.dev/streams/a75ab4f10f/objects/a59617590b0bec4e9b5ee487ee75b1a7"/>
|
||||
<input id="objectUrlInput" type="text" name="objectId" placeholder="Object Url" style="width:49%" value="https://latest.speckle.dev/streams/a6f96ea62c/objects/68d6535632dbf9aba06adae8a263c8e4"/>
|
||||
<button class="" onclick="loadData()" style="width:49%">Load Object URL</button>
|
||||
</div>
|
||||
<div class="twelve columns">
|
||||
|
||||
@@ -26,6 +26,8 @@ export default class InteractionHandler {
|
||||
this.viewer.scene.add( this.selectedObjects )
|
||||
this.selectedObjects.renderOrder = 1000
|
||||
|
||||
this.selectedObjectsUserData = []
|
||||
|
||||
this.selectionHelper.on( 'object-doubleclicked', this._handleDoubleClick.bind( this ) )
|
||||
this.selectionHelper.on( 'object-clicked', this._handleSelect.bind( this ) )
|
||||
|
||||
@@ -63,17 +65,20 @@ export default class InteractionHandler {
|
||||
return // exit the whole func here, points cause all sorts of trouble when being selected (ie, bbox stuff)
|
||||
}
|
||||
|
||||
this.selectedObjectsUserData.push( objs[0].object.userData )
|
||||
|
||||
let box = new THREE.BoxHelper( objs[0].object, 0x23F3BD )
|
||||
box.material = this.selectionEdgesMaterial
|
||||
this.selectedObjects.add( box )
|
||||
this.viewer.needsRender = true
|
||||
this.viewer.emit( 'select', this.selectedObjects.children.filter( o => o.type !== 'BoxHelper' ) )
|
||||
this.viewer.emit( 'select', this.selectedObjectsUserData )
|
||||
}
|
||||
|
||||
deselectObjects() {
|
||||
this.selectedObjects.clear()
|
||||
this.selectedObjectsUserData = []
|
||||
this.viewer.needsRender = true
|
||||
this.viewer.emit( 'select', this.selectedObjects.children.filter( o => o.type !== 'BoxHelper' ) )
|
||||
this.viewer.emit( 'select', this.selectedObjectsUserData )
|
||||
}
|
||||
|
||||
toggleSectionBox() {
|
||||
|
||||
Reference in New Issue
Block a user