|
@@ -1,10 +1,11 @@
|
|
-import { ISceneLoaderPlugin, ISceneLoaderPluginAsync, Tools, SceneLoader, Tags } from "babylonjs";
|
|
|
|
-import { GLTFFileLoader, GLTFLoaderAnimationStartMode } from "babylonjs-loaders";
|
|
|
|
-import { IModelConfiguration } from "../configuration/interfaces/modelConfiguration";
|
|
|
|
-import { ViewerModel, ModelState } from "../model/viewerModel";
|
|
|
|
|
|
+import { ISceneLoaderPlugin, ISceneLoaderPluginAsync, SceneLoader, Tags, Tools } from 'babylonjs';
|
|
|
|
+import { GLTFFileLoader, GLTFLoaderAnimationStartMode } from 'babylonjs-loaders';
|
|
|
|
+
|
|
|
|
+import { ConfigurationContainer } from '../configuration/configurationContainer';
|
|
|
|
+import { IModelConfiguration } from '../configuration/interfaces/modelConfiguration';
|
|
|
|
+import { ObservablesManager } from '../managers/observablesManager';
|
|
|
|
+import { ModelState, ViewerModel } from '../model/viewerModel';
|
|
import { getLoaderPluginByName, ILoaderPlugin } from './plugins/';
|
|
import { getLoaderPluginByName, ILoaderPlugin } from './plugins/';
|
|
-import { ObservablesManager } from "../managers/observablesManager";
|
|
|
|
-import { ConfigurationContainer } from "../configuration/configurationContainer";
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* An instance of the class is in charge of loading the model correctly.
|
|
* An instance of the class is in charge of loading the model correctly.
|
|
@@ -61,24 +62,24 @@ export class ModelLoader {
|
|
|
|
|
|
model.loadId = this._loadId++;
|
|
model.loadId = this._loadId++;
|
|
|
|
|
|
- if (!modelConfiguration.url) {
|
|
|
|
- model.state = ModelState.ERROR;
|
|
|
|
- Tools.Error("No URL provided");
|
|
|
|
- return model;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- let base: string;
|
|
|
|
|
|
+ let base: string = "";
|
|
|
|
|
|
let filename: any;
|
|
let filename: any;
|
|
if (modelConfiguration.file) {
|
|
if (modelConfiguration.file) {
|
|
base = "file:";
|
|
base = "file:";
|
|
filename = modelConfiguration.file;
|
|
filename = modelConfiguration.file;
|
|
}
|
|
}
|
|
- else {
|
|
|
|
|
|
+ else if (modelConfiguration.url) {
|
|
filename = Tools.GetFilename(modelConfiguration.url) || modelConfiguration.url;
|
|
filename = Tools.GetFilename(modelConfiguration.url) || modelConfiguration.url;
|
|
base = modelConfiguration.root || Tools.GetFolderPath(modelConfiguration.url);
|
|
base = modelConfiguration.root || Tools.GetFolderPath(modelConfiguration.url);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (!filename || !base) {
|
|
|
|
+ model.state = ModelState.ERROR;
|
|
|
|
+ Tools.Error("No URL provided");
|
|
|
|
+ return model;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
let plugin = modelConfiguration.loader;
|
|
let plugin = modelConfiguration.loader;
|
|
|
|
|