|
@@ -3,13 +3,10 @@ import { Nullable } from "babylonjs/types";
|
|
import { Observable, Observer } from "babylonjs/Misc/observable";
|
|
import { Observable, Observer } from "babylonjs/Misc/observable";
|
|
import { Tools } from "babylonjs/Misc/tools";
|
|
import { Tools } from "babylonjs/Misc/tools";
|
|
import { Camera } from "babylonjs/Cameras/camera";
|
|
import { Camera } from "babylonjs/Cameras/camera";
|
|
-import { AnimationGroup } from "babylonjs/Animations/animationGroup";
|
|
|
|
-import { Skeleton } from "babylonjs/Bones/skeleton";
|
|
|
|
-import { IParticleSystem } from "babylonjs/Particles/IParticleSystem";
|
|
|
|
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
|
|
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
|
|
import { Material } from "babylonjs/Materials/material";
|
|
import { Material } from "babylonjs/Materials/material";
|
|
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
-import { SceneLoader, ISceneLoaderPluginFactory, ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderProgressEvent, ISceneLoaderPluginExtensions } from "babylonjs/Loading/sceneLoader";
|
|
|
|
|
|
+import { SceneLoader, ISceneLoaderPluginFactory, ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderProgressEvent, ISceneLoaderPluginExtensions, ISceneLoaderAsyncResult } from "babylonjs/Loading/sceneLoader";
|
|
import { AssetContainer } from "babylonjs/assetContainer";
|
|
import { AssetContainer } from "babylonjs/assetContainer";
|
|
import { Scene, IDisposable } from "babylonjs/scene";
|
|
import { Scene, IDisposable } from "babylonjs/scene";
|
|
import { WebRequest } from "babylonjs/Misc/webRequest";
|
|
import { WebRequest } from "babylonjs/Misc/webRequest";
|
|
@@ -17,11 +14,8 @@ import { IFileRequest } from "babylonjs/Misc/fileRequest";
|
|
import { Logger } from 'babylonjs/Misc/logger';
|
|
import { Logger } from 'babylonjs/Misc/logger';
|
|
import { DataReader, IDataBuffer } from 'babylonjs/Misc/dataReader';
|
|
import { DataReader, IDataBuffer } from 'babylonjs/Misc/dataReader';
|
|
import { GLTFValidation } from './glTFValidation';
|
|
import { GLTFValidation } from './glTFValidation';
|
|
-import { Light } from 'babylonjs/Lights/light';
|
|
|
|
-import { TransformNode } from 'babylonjs/Meshes/transformNode';
|
|
|
|
import { RequestFileError } from 'babylonjs/Misc/fileTools';
|
|
import { RequestFileError } from 'babylonjs/Misc/fileTools';
|
|
import { StringTools } from 'babylonjs/Misc/stringTools';
|
|
import { StringTools } from 'babylonjs/Misc/stringTools';
|
|
-import { Geometry } from 'babylonjs/Meshes/geometry';
|
|
|
|
|
|
|
|
interface IFileRequestInfo extends IFileRequest {
|
|
interface IFileRequestInfo extends IFileRequest {
|
|
_lengthComputable?: boolean;
|
|
_lengthComputable?: boolean;
|
|
@@ -121,20 +115,9 @@ export enum GLTFLoaderState {
|
|
}
|
|
}
|
|
|
|
|
|
/** @hidden */
|
|
/** @hidden */
|
|
-export interface IImportMeshAsyncOutput {
|
|
|
|
- meshes: AbstractMesh[];
|
|
|
|
- geometries: Geometry[];
|
|
|
|
- particleSystems: IParticleSystem[];
|
|
|
|
- skeletons: Skeleton[];
|
|
|
|
- animationGroups: AnimationGroup[];
|
|
|
|
- lights: Light[];
|
|
|
|
- transformNodes: TransformNode[];
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/** @hidden */
|
|
|
|
export interface IGLTFLoader extends IDisposable {
|
|
export interface IGLTFLoader extends IDisposable {
|
|
readonly state: Nullable<GLTFLoaderState>;
|
|
readonly state: Nullable<GLTFLoaderState>;
|
|
- importMeshAsync: (meshesNames: any, scene: Scene, forAssetContainer: boolean, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string) => Promise<IImportMeshAsyncOutput>;
|
|
|
|
|
|
+ importMeshAsync: (meshesNames: any, scene: Scene, forAssetContainer: boolean, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string) => Promise<ISceneLoaderAsyncResult>;
|
|
loadAsync: (scene: Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string) => Promise<void>;
|
|
loadAsync: (scene: Scene, data: IGLTFLoaderData, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string) => Promise<void>;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -582,7 +565,7 @@ export class GLTFFileLoader implements IDisposable, ISceneLoaderPluginAsync, ISc
|
|
}
|
|
}
|
|
|
|
|
|
/** @hidden */
|
|
/** @hidden */
|
|
- public importMeshAsync(meshesNames: any, scene: Scene, data: any, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string): Promise<{ meshes: AbstractMesh[], particleSystems: IParticleSystem[], skeletons: Skeleton[], animationGroups: AnimationGroup[] }> {
|
|
|
|
|
|
+ public importMeshAsync(meshesNames: any, scene: Scene, data: any, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string): Promise<ISceneLoaderAsyncResult> {
|
|
return Promise.resolve().then(() => {
|
|
return Promise.resolve().then(() => {
|
|
this.onParsedObservable.notifyObservers(data);
|
|
this.onParsedObservable.notifyObservers(data);
|
|
this.onParsedObservable.clear();
|
|
this.onParsedObservable.clear();
|