GLTFLoader.d.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import {
  2. AnimationClip,
  3. Camera,
  4. Group,
  5. Loader,
  6. LoadingManager,
  7. Object3D,
  8. Material,
  9. Texture
  10. } from '../../../src/Three';
  11. import { DRACOLoader } from './DRACOLoader';
  12. import { DDSLoader } from './DDSLoader';
  13. export interface GLTF {
  14. animations: AnimationClip[];
  15. scene: Group;
  16. scenes: Group[];
  17. cameras: Camera[];
  18. asset: {
  19. copyright?: string;
  20. generator?: string;
  21. version?: string;
  22. minVersion?: string;
  23. extensions?: any;
  24. extras?: any;
  25. };
  26. parser: GLTFParser;
  27. userData: any;
  28. }
  29. export class GLTFLoader extends Loader {
  30. constructor( manager?: LoadingManager );
  31. dracoLoader: DRACOLoader | null;
  32. ddsLoader: DDSLoader | null;
  33. load( url: string, onLoad: ( gltf: GLTF ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ) : void;
  34. setDRACOLoader( dracoLoader: DRACOLoader ): GLTFLoader;
  35. setDDSLoader( ddsLoader: DDSLoader ): GLTFLoader;
  36. parse( data: ArrayBuffer | string, path: string, onLoad: ( gltf: GLTF ) => void, onError?: ( event: ErrorEvent ) => void ) : void;
  37. }
  38. export interface GLTFReference {
  39. type: 'materials'|'nodes'|'textures';
  40. index: number;
  41. }
  42. export class GLTFParser {
  43. json: any;
  44. associations: Map<Object3D|Material|Texture, GLTFReference>;
  45. getDependency: ( type: string, index: number ) => Promise<any>;
  46. getDependencies: ( type: string ) => Promise<any[]>;
  47. }