Browse Source

Merge pull request #5840 from phutidus/dev

Improve ability to detect the format of a STL file
Mr.doob 10 years ago
parent
commit
5ec87fdbe7
1 changed files with 21 additions and 1 deletions
  1. 21 1
      examples/js/loaders/STLLoader.js

+ 21 - 1
examples/js/loaders/STLLoader.js

@@ -61,7 +61,27 @@ THREE.STLLoader.prototype = {
 			face_size = (32 / 8 * 3) + ((32 / 8 * 3) * 3) + (16 / 8);
 			n_faces = reader.getUint32(80,true);
 			expect = 80 + (32 / 8) + (n_faces * face_size);
-			return expect === reader.byteLength;
+			
+			if ( expect === reader.byteLength ) {
+				
+				return true;
+				
+			}
+
+			// some binary files will have different size from expected,
+			// checking characters higher than ASCII to confirm is binary
+			var fileLength = reader.byteLength;
+			for ( var index = 0; index < fileLength; index ++ ) {
+
+				if ( reader.getUint8(index, false) > 127 ) {
+					
+					return true;
+					
+				}
+
+			}
+
+			return false;
 
 		};