Explorar o código

Typescript fixes:
- Updated MTLLoader.parse signature
- Shifted MaterialCreator to an inner class MTLLoader.MaterialCreator, aligning with actual Javascript
- Added MaterialCreator.crossOrigin
- Corrected MaterialCreator.setCrossOrigin parameter type

David Pritchard %!s(int64=5) %!d(string=hai) anos
pai
achega
2d35261d80

+ 26 - 23
examples/jsm/loaders/MTLLoader.d.ts

@@ -44,8 +44,8 @@ export class MTLLoader extends Loader {
 	constructor( manager?: LoadingManager );
 	materialOptions: MaterialCreatorOptions;
 
-	load( url: string, onLoad: ( materialCreator: MaterialCreator ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ): void;
-	parse( text: string ) : MaterialCreator;
+	load( url: string, onLoad: ( materialCreator: MTLLoader.MaterialCreator ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ): void;
+	parse( text: string, path: string ) : MTLLoader.MaterialCreator;
 	setMaterialOptions( value: MaterialCreatorOptions ) : void;
 
 }
@@ -72,29 +72,32 @@ export interface TexParams {
 	url: string;
 }
 
-export class MaterialCreator {
+export namespace MTLLoader {
+	export class MaterialCreator {
 
-	constructor( baseUrl?: string, options?: MaterialCreatorOptions );
+		constructor( baseUrl?: string, options?: MaterialCreatorOptions );
 
-	baseUrl : string;
-	options : MaterialCreatorOptions;
-	materialsInfo : {[key: string]: MaterialInfo};
-	materials : {[key: string]: Material};
-	private materialsArray : Material[];
-	nameLookup : {[key: string]: number};
-	side : Side;
-	wrap : Wrapping;
+		baseUrl : string;
+		options : MaterialCreatorOptions;
+		materialsInfo : {[key: string]: MaterialInfo};
+		materials : {[key: string]: Material};
+		private materialsArray : Material[];
+		nameLookup : {[key: string]: number};
+		side : Side;
+		wrap : Wrapping;
+		crossOrigin : string;
 
-	setCrossOrigin( value: boolean ) : void;
-	setManager( value: LoadingManager ) : void;
-	setMaterials( materialsInfo: {[key: string]: MaterialInfo} ) : void;
-	convert( materialsInfo: {[key: string]: MaterialInfo} ) : {[key: string]: MaterialInfo};
-	preload() : void;
-	getIndex( materialName: string ) : Material;
-	getAsArray() : Material[];
-	create( materialName: string ) : Material;
-	createMaterial_( materialName: string ) : Material;
-	getTextureParams( value: string, matParams: any ) : TexParams;
-	loadTexture( url: string, mapping?: Mapping, onLoad?: ( bufferGeometry: BufferGeometry ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ): Texture;
+		setCrossOrigin( value: string ) : void;
+		setManager( value: LoadingManager ) : void;
+		setMaterials( materialsInfo: {[key: string]: MaterialInfo} ) : void;
+		convert( materialsInfo: {[key: string]: MaterialInfo} ) : {[key: string]: MaterialInfo};
+		preload() : void;
+		getIndex( materialName: string ) : Material;
+		getAsArray() : Material[];
+		create( materialName: string ) : Material;
+		createMaterial_( materialName: string ) : Material;
+		getTextureParams( value: string, matParams: any ) : TexParams;
+		loadTexture( url: string, mapping?: Mapping, onLoad?: ( bufferGeometry: BufferGeometry ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ): Texture;
 
+	}
 }

+ 1 - 1
examples/jsm/loaders/MTLLoader.js

@@ -136,7 +136,7 @@ MTLLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
 } );
 
 /**
- * Create a new THREE-MTLLoader.MaterialCreator
+ * Create a new MTLLoader.MaterialCreator
  * @param baseUrl - Url relative to which textures are loaded
  * @param options - Set of options on how to construct the materials
  *                  side: Which side to apply the material

+ 3 - 3
examples/jsm/loaders/OBJLoader.d.ts

@@ -5,16 +5,16 @@ import {
 	Group
 } from '../../../src/Three';
 import {
-	MaterialCreator
+	MTLLoader
 } from './MTLLoader';
 
 export class OBJLoader extends Loader {
 
 	constructor( manager?: LoadingManager );
-	materials: MaterialCreator;
+	materials: MTLLoader.MaterialCreator;
 
 	load( url: string, onLoad: ( group: Group ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ): void;
 	parse( data: string ) : Group;
-	setMaterials( materials: MaterialCreator ) : this;
+	setMaterials( materials: MTLLoader.MaterialCreator ) : this;
 
 }

+ 2 - 2
examples/jsm/loaders/obj2/bridge/MtlObjBridge.d.ts

@@ -1,8 +1,8 @@
 import {
-	MaterialCreator
+	MTLLoader
 } from '../../MTLLoader';
 
 export namespace MtlObjBridge {
 	export function link( processResult: object, assetLoader: object ): void;
-	export function addMaterialsFromMtlLoader( materialCreator: MaterialCreator ): object;
+	export function addMaterialsFromMtlLoader( materialCreator: MTLLoader.MaterialCreator ): object;
 }