viewer.loadObject now returns after loading (#187)
This commit is contained in:
@@ -44,14 +44,13 @@ export default class ViewerObjectLoader {
|
||||
let current = 0
|
||||
let total = 0
|
||||
let viewerLoads = 0
|
||||
let firstObjectPromise = null
|
||||
for await ( let obj of this.loader.getObjectIterator() ) {
|
||||
if ( first ) {
|
||||
( async() => {
|
||||
await this.converter.traverseAndConvert( obj, ( o ) => {
|
||||
this.viewer.sceneManager.addObject( o )
|
||||
viewerLoads++
|
||||
} )
|
||||
} )()
|
||||
firstObjectPromise = this.converter.traverseAndConvert( obj, ( o ) => {
|
||||
this.viewer.sceneManager.addObject( o )
|
||||
viewerLoads++
|
||||
} )
|
||||
first = false
|
||||
total = obj.totalChildrenCount
|
||||
}
|
||||
@@ -59,6 +58,10 @@ export default class ViewerObjectLoader {
|
||||
this.viewer.emit( 'load-progress', { progress: current/( total+1 ), id: this.objectId } )
|
||||
}
|
||||
|
||||
if ( firstObjectPromise ) {
|
||||
await firstObjectPromise
|
||||
}
|
||||
|
||||
if ( viewerLoads === 0 ) {
|
||||
console.warn( `Viewer: no 3d objects found in object ${this.objectId}` )
|
||||
this.viewer.emit( 'load-warning', { message: `No displayable objects found in object ${this.objectId}.` } )
|
||||
|
||||
Reference in New Issue
Block a user