David Catuhe 8 年 前
コミット
84eda67bcd

ファイルの差分が大きいため隠しています
+ 3282 - 3282
dist/preview release/babylon.d.ts


ファイルの差分が大きいため隠しています
+ 1 - 1
dist/preview release/babylon.js


+ 2 - 0
dist/preview release/babylon.max.js

@@ -23387,6 +23387,8 @@ var BABYLON;
             if (this._buffer) {
                 return; // nothing to do
             }
+            // See spec, alignment must be filled as a vec4
+            this._fillAlignment(4);
             this._bufferData = new Float32Array(this._data);
             if (this._dynamic) {
                 this._buffer = this._engine.createDynamicUniformBuffer(this._bufferData);

ファイルの差分が大きいため隠しています
+ 3282 - 3282
dist/preview release/babylon.module.d.ts


ファイルの差分が大きいため隠しています
+ 1 - 1
dist/preview release/babylon.worker.js


+ 9 - 3
dist/preview release/loaders/babylon.stlFileLoader.js

@@ -11,13 +11,18 @@ var BABYLON;
         }
         STLFileLoader.prototype.importMesh = function (meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons) {
             var matches;
+            if (typeof data !== "string") {
+                BABYLON.Tools.Error("STL format not recognized. Ensure it's ASCII formatted");
+                return false;
+            }
             while (matches = this.solidPattern.exec(data)) {
                 var meshName = matches[1];
                 var meshNameFromEnd = matches[3];
                 if (meshName != meshNameFromEnd) {
-                    console.log("error in stl, solid name != endsolid name");
+                    BABYLON.Tools.Error("Error in STL, solid name != endsolid name");
+                    return false;
                 }
-                //check meshesNames
+                // check meshesNames
                 if (meshesNames && meshName) {
                     if (meshesNames instanceof Array) {
                         if (!meshesNames.indexOf(meshName)) {
@@ -30,10 +35,11 @@ var BABYLON;
                         }
                     }
                 }
-                //stl mesh name can be empty as well
+                // stl mesh name can be empty as well
                 meshName = meshName || "stlmesh";
                 var babylonMesh = new BABYLON.Mesh(meshName, scene);
                 this.parseSolid(babylonMesh, matches[2]);
+                meshes.push(babylonMesh);
             }
             return true;
         };

ファイルの差分が大きいため隠しています
+ 1 - 1
dist/preview release/loaders/babylon.stlFileLoader.min.js


+ 11 - 3
loaders/src/STL/babylon.stlFileLoader.ts

@@ -14,14 +14,20 @@ module BABYLON {
         public importMesh(meshesNames: any, scene: Scene, data: any, rootUrl: string, meshes: AbstractMesh[], particleSystems: ParticleSystem[], skeletons: Skeleton[]): boolean {
             var matches;
 
+            if (typeof data !== "string") {
+                Tools.Error("STL format not recognized. Ensure it's ASCII formatted");
+                return false;
+            }
+
             while (matches = this.solidPattern.exec(data)) {
                 var meshName = matches[1];
                 var meshNameFromEnd = matches[3];
                 if (meshName != meshNameFromEnd) {
-                    console.log("error in stl, solid name != endsolid name");
+                    Tools.Error("Error in STL, solid name != endsolid name");
+                    return false;
                 }
 
-                //check meshesNames
+                // check meshesNames
                 if (meshesNames && meshName) {
                     if (meshesNames instanceof Array) {
                         if (!meshesNames.indexOf(meshName)) {
@@ -34,10 +40,12 @@ module BABYLON {
                     }
                 }
 
-                //stl mesh name can be empty as well
+                // stl mesh name can be empty as well
                 meshName = meshName || "stlmesh";
                 var babylonMesh = new Mesh(meshName, scene);
                 this.parseSolid(babylonMesh, matches[2]);
+
+                meshes.push(babylonMesh);
             }
 
             return true;