Browse Source

add type for parse() method and fallback for missing layer

Chuck Driesler 4 years ago
parent
commit
be74308aaa
2 changed files with 4 additions and 1 deletions
  1. 1 0
      examples/jsm/loaders/3DMLoader.d.ts
  2. 3 1
      examples/jsm/loaders/3DMLoader.js

+ 1 - 0
examples/jsm/loaders/3DMLoader.d.ts

@@ -9,6 +9,7 @@ export class Rhino3dmLoader extends Loader {
 	constructor( manager?: LoadingManager );
 	constructor( manager?: LoadingManager );
 
 
 	load( url: string, onLoad: ( object: Object3D ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ): void;
 	load( url: string, onLoad: ( object: Object3D ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ): void;
+	parse( data: ArrayBufferLike, onLoad: ( object: Object3D ) => void, onError?: ( event: ErrorEvent ) => void ): void;
 	setLibraryPath( path: string ): Rhino3dmLoader;
 	setLibraryPath( path: string ): Rhino3dmLoader;
 	setWorkerLimit( workerLimit: number ): Rhino3dmLoader;
 	setWorkerLimit( workerLimit: number ): Rhino3dmLoader;
 	dispose(): Rhino3dmLoader;
 	dispose(): Rhino3dmLoader;

+ 3 - 1
examples/jsm/loaders/3DMLoader.js

@@ -278,7 +278,9 @@ Rhino3dmLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 
 
 					}
 					}
 
 
-					_object.visible = data.layers[ attributes.layerIndex ].visible;
+					var layer = data.layers[ attributes.layerIndex ]
+					
+					_object.visible = layer ? data.layers[ attributes.layerIndex ].visible : true;
 
 
 					if ( attributes.isInstanceDefinitionObject ) {
 					if ( attributes.isInstanceDefinitionObject ) {