Sfoglia il codice sorgente

Fixed FIlesInput to avoid tracking textures files

David Catuhe 8 anni fa
parent
commit
29427f58e9

+ 1 - 0
.vscode/settings.json

@@ -9,6 +9,7 @@
         "**/.vs": true,        
         "**/.tempChromeProfileForDebug": true,
         "**/node_modules": true,
+        "**/dist": true,
         "**/temp": true,
         "**/.temp": true,
         "**/*.d.ts": true,

File diff suppressed because it is too large
+ 6 - 6
dist/preview release/babylon.core.js


File diff suppressed because it is too large
+ 1387 - 1388
dist/preview release/babylon.d.ts


File diff suppressed because it is too large
+ 6 - 6
dist/preview release/babylon.js


+ 16 - 14
dist/preview release/babylon.max.js

@@ -6358,15 +6358,15 @@ var BABYLON;
                 }
                 else {
                     var textureName = url.substring(5).toLowerCase();
-                    if (BABYLON.FilesInput.FilesTextures[textureName]) {
+                    if (BABYLON.FilesInput.FilesToLoad[textureName]) {
                         try {
                             var blobURL;
                             try {
-                                blobURL = URL.createObjectURL(BABYLON.FilesInput.FilesTextures[textureName], { oneTimeOnly: true });
+                                blobURL = URL.createObjectURL(BABYLON.FilesInput.FilesToLoad[textureName], { oneTimeOnly: true });
                             }
                             catch (ex) {
                                 // Chrome doesn't support oneTimeOnly parameter
-                                blobURL = URL.createObjectURL(BABYLON.FilesInput.FilesTextures[textureName]);
+                                blobURL = URL.createObjectURL(BABYLON.FilesInput.FilesToLoad[textureName]);
                             }
                             img.src = blobURL;
                         }
@@ -11360,22 +11360,25 @@ var BABYLON;
                 this._filesToLoad = event.target.files;
             }
             if (this._filesToLoad && this._filesToLoad.length > 0) {
+                var gltf = false;
                 for (var i = 0; i < this._filesToLoad.length; i++) {
                     var name_1 = this._filesToLoad[i].name.toLowerCase();
                     var extension = name_1.split('.').pop();
+                    if (extension === "glb" || extension === "gltf") {
+                        gltf = true;
+                        break;
+                    }
+                }
+                for (var i = 0; i < this._filesToLoad.length; i++) {
+                    var name_2 = this._filesToLoad[i].name.toLowerCase();
+                    var extension_1 = name_2.split('.').pop();
                     var type = this._filesToLoad[i].type;
-                    if (extension === "jpg" || extension === "png" || extension === "bmp" || extension === "jpeg" ||
-                        type === "image/jpeg" || type === "image/png" || type === "image/bmp") {
-                        FilesInput.FilesTextures[name_1] = this._filesToLoad[i];
+                    if ((extension_1 === "babylon" || extension_1 === "stl" || extension_1 === "obj" || extension_1 === "gltf" || extension_1 === "glb")
+                        && name_2.indexOf(".binary.babylon") === -1 && name_2.indexOf(".incremental.babylon") === -1) {
+                        this._sceneFileToLoad = this._filesToLoad[i];
                     }
                     else {
-                        if ((extension === "babylon" || extension === "stl" || extension === "obj" || extension === "gltf" || extension === "glb")
-                            && name_1.indexOf(".binary.babylon") === -1 && name_1.indexOf(".incremental.babylon") === -1) {
-                            this._sceneFileToLoad = this._filesToLoad[i];
-                        }
-                        else {
-                            FilesInput.FilesToLoad[name_1] = this._filesToLoad[i];
-                        }
+                        FilesInput.FilesToLoad[name_2] = this._filesToLoad[i];
                     }
                 }
                 this.reload();
@@ -11420,7 +11423,6 @@ var BABYLON;
         };
         return FilesInput;
     }());
-    FilesInput.FilesTextures = new Array();
     FilesInput.FilesToLoad = new Array();
     BABYLON.FilesInput = FilesInput;
 })(BABYLON || (BABYLON = {}));

File diff suppressed because it is too large
+ 1387 - 1388
dist/preview release/babylon.module.d.ts


File diff suppressed because it is too large
+ 6 - 6
dist/preview release/babylon.noworker.js


+ 16 - 12
src/Tools/babylon.filesInput.ts

@@ -9,7 +9,6 @@
         private _textureLoadingCallback;
         private _startingProcessingFilesCallback;
         private _elementToMonitor: HTMLElement;
-        public static FilesTextures: File[] = new Array();
         public static FilesToLoad: File[] = new Array();
 
         private _sceneFileToLoad: File;
@@ -81,23 +80,28 @@
             }
 
             if (this._filesToLoad && this._filesToLoad.length > 0) {
+                var gltf = false;
+                for (var i = 0; i < this._filesToLoad.length; i++) {
+                    var name_1 = this._filesToLoad[i].name.toLowerCase();
+                    var extension = name_1.split('.').pop();
+                    if (extension === "glb" || extension === "gltf")
+                    {       
+                         gltf = true;
+                            break;
+                    }
+                }
+
                 for (var i = 0; i < this._filesToLoad.length; i++) {
                     let name = this._filesToLoad[i].name.toLowerCase();
                     let extension = name.split('.').pop();
                     let type = this._filesToLoad[i].type;
                     
-                    if (extension === "jpg" || extension === "png" || extension === "bmp" || extension === "jpeg" || 
-                        type === "image/jpeg" || type === "image/png" || type === "image/bmp") {
-                           FilesInput.FilesTextures[name] = this._filesToLoad[i]; 
-                        }
+                    if ((extension === "babylon" || extension === "stl" || extension === "obj" || extension === "gltf" || extension === "glb") 
+                        && name.indexOf(".binary.babylon") === -1 && name.indexOf(".incremental.babylon") === -1) {
+                        this._sceneFileToLoad = this._filesToLoad[i];
+                    }
                     else {
-                        if ((extension === "babylon" || extension === "stl" || extension === "obj" || extension === "gltf" || extension === "glb") 
-                            && name.indexOf(".binary.babylon") === -1 && name.indexOf(".incremental.babylon") === -1) {
-                            this._sceneFileToLoad = this._filesToLoad[i];
-                        }
-                        else {
-                            FilesInput.FilesToLoad[name] = this._filesToLoad[i];
-                        }
+                        FilesInput.FilesToLoad[name] = this._filesToLoad[i];
                     }
                 }
 

+ 3 - 3
src/Tools/babylon.tools.ts

@@ -368,15 +368,15 @@
                 }
                 else {
                     var textureName = url.substring(5).toLowerCase();
-                    if (FilesInput.FilesTextures[textureName]) {
+                    if (FilesInput.FilesToLoad[textureName]) {
                         try {
                             var blobURL;
                             try {
-                                blobURL = URL.createObjectURL(FilesInput.FilesTextures[textureName], { oneTimeOnly: true });
+                                blobURL = URL.createObjectURL(FilesInput.FilesToLoad[textureName], { oneTimeOnly: true });
                             }
                             catch (ex) {
                                 // Chrome doesn't support oneTimeOnly parameter
-                                blobURL = URL.createObjectURL(FilesInput.FilesTextures[textureName]);
+                                blobURL = URL.createObjectURL(FilesInput.FilesToLoad[textureName]);
                             }
                             img.src = blobURL;
                         }