|
@@ -14,8 +14,8 @@ export class CMPTLoader extends CMPTLoaderBase {
|
|
|
|
|
|
parse( buffer ) {
|
|
|
|
|
|
- const manager = this.manager;
|
|
|
const result = super.parse( buffer );
|
|
|
+ const manager = this.manager;
|
|
|
const group = new Group();
|
|
|
const results = [];
|
|
|
const promises = [];
|
|
@@ -24,6 +24,7 @@ export class CMPTLoader extends CMPTLoaderBase {
|
|
|
|
|
|
const { type, buffer } = result.tiles[ i ];
|
|
|
switch ( type ) {
|
|
|
+
|
|
|
case 'b3dm': {
|
|
|
|
|
|
const slicedBuffer = buffer.slice();
|
|
@@ -40,6 +41,7 @@ export class CMPTLoader extends CMPTLoaderBase {
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
case 'pnts': {
|
|
|
|
|
|
const slicedBuffer = buffer.slice();
|
|
@@ -49,8 +51,23 @@ export class CMPTLoader extends CMPTLoaderBase {
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
- case 'i3dm':
|
|
|
- default:
|
|
|
+
|
|
|
+ case 'i3dm': {
|
|
|
+
|
|
|
+ const slicedBuffer = buffer.slice();
|
|
|
+ const promise = new I3DMLoader( manager )
|
|
|
+ .parse( slicedBuffer.buffer )
|
|
|
+ .then( res => {
|
|
|
+
|
|
|
+ results.push( res );
|
|
|
+ group.add( res.scene );
|
|
|
+
|
|
|
+ } );
|
|
|
+ promises.push(promise);
|
|
|
+ break;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|