Browse Source

tab fix

four space tabs
Pryme8 6 years ago
parent
commit
b4e3c336ef
1 changed files with 57 additions and 59 deletions
  1. 57 59
      serializers/src/stl/stlSerializer.ts

+ 57 - 59
serializers/src/stl/stlSerializer.ts

@@ -3,69 +3,71 @@ import { VertexBuffer } from "babylonjs/Meshes/buffer";
 import { Vector3 } from "babylonjs/Maths/math";
 
 /**
- * Class for generating STL data from a Babylon scene.
- */
+* Class for generating STL data from a Babylon scene.
+*/
 export class STLExport {
-     /**
-     * Exports the geometry of a Mesh array in .STL file format (ASCII)
-     * @param meshes list defines the mesh to serialize
-     * @param download triggers the automatic download of the file.
-	 * @param fileName changes the downloads fileName.
-	 * @param binary changes the STL to a binary type.
-     * @returns the STL as UTF8 string
-     */
-    public static CreateSTL(meshes: Mesh[], download:boolean=true, fileName:string='STL_Mesh', binary:boolean=false): any {
-		
+    /**
+    * Exports the geometry of a Mesh array in .STL file format (ASCII)
+    * @param meshes list defines the mesh to serialize
+    * @param download triggers the automatic download of the file.
+    * @param fileName changes the downloads fileName.
+    * @param binary changes the STL to a binary type.
+    * @returns the STL as UTF8 string
+    */
+	public static CreateSTL(meshes: Mesh[], download:boolean=true, fileName:string='STL_Mesh', binary:boolean=false): any {
+
 		let data;
 		let multiMesh = false;
-		if(meshes.length>1){multiMesh=true;}
+		if(meshes.length>1){
+			multiMesh=true;
+		}
 		if(!binary){
-		data = 'solid exportedMesh\r\n';		
-		for(let i=0; i<meshes.length; i++){
-			let mesh = meshes[i];
-			mesh.bakeCurrentTransformIntoVertices();
-			let vertices = mesh.getVerticesData(VertexBuffer.PositionKind) || [];
-            let indices = mesh.getIndices() || [];
-			
-			for (let i = 0; i < indices.length; i += 3) {
-                let id = [indices[i] * 3, indices[i + 1] * 3, indices[i + 2] * 3];
-                let v = [
-                new Vector3(vertices[id[0]], vertices[id[0] + 1], vertices[id[0] + 2]),
-                new Vector3(vertices[id[1]], vertices[id[1] + 1], vertices[id[1] + 2]),
-                new Vector3(vertices[id[2]], vertices[id[2] + 1], vertices[id[2] + 2])
-                ];
-                let p1p2 = v[0].subtract(v[1]);
-                let p3p2 = v[2].subtract(v[1]);
-                let n = (Vector3.Cross(p1p2, p3p2)).normalize();
-
-                data += 'facet normal ' + n.x + ' ' + n.y + ' ' + n.z + '\r\n';
-                data += '\touter loop\r\n';
-                data += '\t\tvertex ' + v[0].x + ' ' + v[0].y + ' ' + v[0].z + '\r\n';
-                data += '\t\tvertex ' + v[1].x + ' ' + v[1].y + ' ' + v[1].z + '\r\n';
-                data += '\t\tvertex ' + v[2].x + ' ' + v[2].y + ' ' + v[2].z + '\r\n';
-                data += '\tendloop\r\n';
-                data += 'endfacet\r\n';
-            }			
-		}	
-		
-		data += 'endsolid exportedMesh';
-		
+			data = 'solid exportedMesh\r\n';		
+			for(let i=0; i<meshes.length; i++){
+				let mesh = meshes[i];
+				mesh.bakeCurrentTransformIntoVertices();
+				let vertices = mesh.getVerticesData(VertexBuffer.PositionKind) || [];
+				let indices = mesh.getIndices() || [];
+
+				for (let i = 0; i < indices.length; i += 3) {
+					let id = [indices[i] * 3, indices[i + 1] * 3, indices[i + 2] * 3];
+					let v = [
+						new Vector3(vertices[id[0]], vertices[id[0] + 1], vertices[id[0] + 2]),
+						new Vector3(vertices[id[1]], vertices[id[1] + 1], vertices[id[1] + 2]),
+						new Vector3(vertices[id[2]], vertices[id[2] + 1], vertices[id[2] + 2])
+					];
+				let p1p2 = v[0].subtract(v[1]);
+				let p3p2 = v[2].subtract(v[1]);
+				let n = (Vector3.Cross(p1p2, p3p2)).normalize();
+
+				data += 'facet normal ' + n.x + ' ' + n.y + ' ' + n.z + '\r\n';
+				data += '\touter loop\r\n';
+				data += '\t\tvertex ' + v[0].x + ' ' + v[0].y + ' ' + v[0].z + '\r\n';
+				data += '\t\tvertex ' + v[1].x + ' ' + v[1].y + ' ' + v[1].z + '\r\n';
+				data += '\t\tvertex ' + v[2].x + ' ' + v[2].y + ' ' + v[2].z + '\r\n';
+				data += '\tendloop\r\n';
+				data += 'endfacet\r\n';
+				}			
+			}	
+
+			data += 'endsolid exportedMesh';
+
 		}else{	
-		
+
 			//Adapted from https://gist.github.com/paulkaplan/6d5f0ab2c7e8fdc68a61			
 			let faceCount = 0;
 			for(let i=0; i<meshes.length; i++){
 				let mesh = meshes[i];
 				faceCount += mesh.getIndices().length;			
 			}
-			
+
 			let isLittleEndian = true;
-			
+
 			let bufferSize = 84 + (50 * faceCount);
 			let buffer = new ArrayBuffer(bufferSize);			
 			data = new DataView(buffer);
 			let offset = 0;			
-			
+
 			let writeVector = function(dataview:any, offset:number, vector:Vector3, isLittleEndian:boolean){
 				offset = writeFloat(dataview, offset, vector.x, isLittleEndian);
 				offset = writeFloat(dataview, offset, vector.y, isLittleEndian);
@@ -76,7 +78,7 @@ export class STLExport {
 				dataview.setFloat32(offset, value, isLittleEndian);
 				return offset + 4;
 			};
-			
+
 			//Allow later for binary Messages to be passed in the header for now offset by 80.
 			offset += 80;			
 			data.setUint32(offset, faceCount, isLittleEndian);
@@ -87,13 +89,13 @@ export class STLExport {
 				mesh.bakeCurrentTransformIntoVertices();
 				let vertices = mesh.getVerticesData(VertexBuffer.PositionKind) || [];
 				let indices = mesh.getIndices() || [];
-			
+
 				for (let i = 0; i < indices.length; i += 3) {
 					let id = [indices[i] * 3, indices[i + 1] * 3, indices[i + 2] * 3];
 					let v = [
-					new Vector3(vertices[id[0]], vertices[id[0] + 1], vertices[id[0] + 2]),
-					new Vector3(vertices[id[1]], vertices[id[1] + 1], vertices[id[1] + 2]),
-					new Vector3(vertices[id[2]], vertices[id[2] + 1], vertices[id[2] + 2])
+						new Vector3(vertices[id[0]], vertices[id[0] + 1], vertices[id[0] + 2]),
+						new Vector3(vertices[id[1]], vertices[id[1] + 1], vertices[id[1] + 2]),
+						new Vector3(vertices[id[2]], vertices[id[2] + 1], vertices[id[2] + 2])
 					];
 					let p1p2 = v[0].subtract(v[1]);
 					let p3p2 = v[2].subtract(v[1]);
@@ -108,7 +110,7 @@ export class STLExport {
 			}		
 		}	
 
-        if (download) {
+		if (download) {
 			let a = document.createElement('a');
 			let blob = new Blob([data], {'type': 'application/octet-stream'});
 			a.href = window.URL.createObjectURL(blob);
@@ -120,10 +122,6 @@ export class STLExport {
 			a.click();
 		}
 
-		/*if(binary){
-			return String.fromCharCode.apply(null, new Uint16Array(data));
-		}*/
-		
-        return data;
-    }
+	return data;
+	}
 }