Cleaning
This commit is contained in:
		
							parent
							
								
									d8d1c54fed
								
							
						
					
					
						commit
						e5e1513221
					
				
							
								
								
									
										12
									
								
								geo/Geo.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								geo/Geo.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| var fs = require('fs'); | ||||
| 
 | ||||
| /** | ||||
|  * @namespace | ||||
|  */ | ||||
| var geo = {}; | ||||
| 
 | ||||
| if (typeof module === 'object') { | ||||
| 
 | ||||
|     module.exports = geo; | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										17
									
								
								geo/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								geo/Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| OPT=--compilation_level SIMPLE_OPTIMIZATIONS | ||||
| 
 | ||||
| ifeq ($(TYPE),RELEASE) | ||||
| 	CLOSURE=java -jar /usr/share/java/closure-compiler/closure-compiler.jar | ||||
| else | ||||
| 	CLOSURE=../utils/compiler.sh | ||||
| endif | ||||
| 
 | ||||
| all: Geo | ||||
| 
 | ||||
| Geo: | ||||
| 	$(CLOSURE) $(OPT) \
 | ||||
| 		--js Geo.js \
 | ||||
| 		--js Mesh.js \
 | ||||
| 		--js MeshContainer.js \
 | ||||
| 		--js MeshStreamer.js \
 | ||||
| 		--js_output_file ../lib/geo.min.js | ||||
							
								
								
									
										132
									
								
								geo/Mesh.js
									
									
									
									
									
								
							
							
						
						
									
										132
									
								
								geo/Mesh.js
									
									
									
									
									
								
							| @ -1,14 +1,9 @@ | ||||
| /** | ||||
|  * @namespace | ||||
|  */ | ||||
| var mesh = {}; | ||||
| 
 | ||||
| /** | ||||
|  * Reprensents a mesh | ||||
|  * @constructor | ||||
|  * @memberOf mesh | ||||
|  * @memberOf geo | ||||
|  */ | ||||
| mesh.Mesh = function() { | ||||
| geo.Mesh = function() { | ||||
|     this.vertices = []; | ||||
|     this.faces = []; | ||||
|     this.texCoords = []; | ||||
| @ -23,7 +18,7 @@ mesh.Mesh = function() { | ||||
|  * Checks if there are normals in the mesh | ||||
|  * @returns {Boolean} true if there are normals in the mesh, false otherwise | ||||
|  */ | ||||
| mesh.Mesh.prototype.hasNormals = function() { | ||||
| geo.Mesh.prototype.hasNormals = function() { | ||||
|     return this.normals.length > 0; | ||||
| } | ||||
| 
 | ||||
| @ -31,22 +26,22 @@ mesh.Mesh.prototype.hasNormals = function() { | ||||
|  * Checks if there are texture coordinates in the mesh | ||||
|  * @returns {Boolean} true if there are texture coordinates in the mesh, false otherwise | ||||
|  */ | ||||
| mesh.Mesh.prototype.hasTexCoords = function() { | ||||
| geo.Mesh.prototype.hasTexCoords = function() { | ||||
|     return this.texCoords.length > 0; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Adds a vertex to a mesh | ||||
|  * @param {mesh.Vertex|String} A Vertex object or its string representation | ||||
|  * @param {geo.Vertex|String} A Vertex object or its string representation | ||||
|  */ | ||||
| mesh.Mesh.prototype.addVertex = function(vertex) { | ||||
| geo.Mesh.prototype.addVertex = function(vertex) { | ||||
| 
 | ||||
|     if (vertex instanceof mesh.Vertex) { | ||||
|     if (vertex instanceof geo.Vertex) { | ||||
|         this.vertices.push(vertex); | ||||
|     } else if (typeof vertex === 'string' || vertex instanceof String) { | ||||
|         this.vertices.push(new mesh.Vertex(vertex)); | ||||
|         this.vertices.push(new geo.Vertex(vertex)); | ||||
|     } else { | ||||
|         console.error("Can only add vertex from mesh.Vertex or string"); | ||||
|         console.error("Can only add vertex from geo.Vertex or string"); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
| @ -55,18 +50,18 @@ mesh.Mesh.prototype.addVertex = function(vertex) { | ||||
| 
 | ||||
| /** | ||||
|  * Adds a face to a mesh | ||||
|  * @param {mesh.Face|String} A Face object or its string representation | ||||
|  * @param {geo.Face|String} A Face object or its string representation | ||||
|  */ | ||||
| mesh.Mesh.prototype.addFaces = function(face) { | ||||
| geo.Mesh.prototype.addFaces = function(face) { | ||||
|     var faces; | ||||
| 
 | ||||
|     if (face instanceof mesh.Face) { | ||||
|     if (face instanceof geo.Face) { | ||||
|         this.faces.push(face); | ||||
|     } else if (typeof face === 'string' || face instanceof String) { | ||||
|         faces = parseFace(face); | ||||
|         this.faces = this.faces.concat(faces); | ||||
|     } else { | ||||
|         console.error("Can only add face from mesh.Face or string"); | ||||
|         console.error("Can only add face from geo.Face or string"); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
| @ -79,15 +74,15 @@ mesh.Mesh.prototype.addFaces = function(face) { | ||||
| 
 | ||||
| /** | ||||
|  * Adds a texture coordinate to a mesh | ||||
|  * @param {mesh.TexCoord|String} A TexCoord object or its string representation | ||||
|  * @param {geo.TexCoord|String} A TexCoord object or its string representation | ||||
|  */ | ||||
| mesh.Mesh.prototype.addTexCoord = function(texCoord) { | ||||
|     if (texCoord instanceof mesh.TexCoord) { | ||||
| geo.Mesh.prototype.addTexCoord = function(texCoord) { | ||||
|     if (texCoord instanceof geo.TexCoord) { | ||||
|         this.texCoords.push(texCoord); | ||||
|     } else if (typeof texCoord === 'string' || texCoord instanceof String) { | ||||
|         this.texCoords.push(new mesh.TexCoord(texCoord)); | ||||
|         this.texCoords.push(new geo.TexCoord(texCoord)); | ||||
|     } else { | ||||
|         console.error("Can only add texCoord from mesh.TexCoord or string"); | ||||
|         console.error("Can only add texCoord from geo.TexCoord or string"); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
| @ -96,31 +91,31 @@ mesh.Mesh.prototype.addTexCoord = function(texCoord) { | ||||
| 
 | ||||
| /** | ||||
|  * Adds a normal to a mesh | ||||
|  * @param {mesh.Normal|String} A Normal object or its string representation | ||||
|  * @param {geo.Normal|String} A Normal object or its string representation | ||||
|  */ | ||||
| mesh.Mesh.prototype.addNormal = function(normal) { | ||||
|     if (normal instanceof mesh.Normal) { | ||||
| geo.Mesh.prototype.addNormal = function(normal) { | ||||
|     if (normal instanceof geo.Normal) { | ||||
|         this.normals.push(normal); | ||||
|     } else if (typeof normal === 'string' || normal instanceof String) { | ||||
|         this.normals.push(new mesh.Normal(normal)); | ||||
|         this.normals.push(new geo.Normal(normal)); | ||||
|     } else { | ||||
|         console.error("Can only add normal from mesh.Normal of string"); | ||||
|         console.error("Can only add normal from geo.Normal of string"); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     return this.normals[this.normals.length - 1]; | ||||
| } | ||||
| 
 | ||||
| mesh.Mesh.prototype.isFinished = function() { | ||||
| geo.Mesh.prototype.isFinished = function() { | ||||
|     return this.faceIndex === this.faces.length; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Represent a 3D vertex | ||||
|  * @constructor | ||||
|  * @memberOf mesh | ||||
|  * @memberOf geo | ||||
|  */ | ||||
| mesh.Vertex = function() { | ||||
| geo.Vertex = function() { | ||||
|     if (typeof arguments[0] === 'string' || arguments[0] instanceof String) { | ||||
|         var split = arguments[0].replace(/\s+/g, " ").split(' '); | ||||
| 
 | ||||
| @ -155,11 +150,11 @@ mesh.Vertex = function() { | ||||
|  * @returns {Array} An array representing the vertex | ||||
|  * | ||||
|  * @example | ||||
|  * var vertex = new mesh.Vertex('v 3.5 3.6 3.7'); | ||||
|  * var vertex = new geo.Vertex('v 3.5 3.6 3.7'); | ||||
|  * vertex.index = 5; | ||||
|  * console.log(vertex.toList()); // Prints ['v', 5, 3.5, 3.6, 3.7]
 | ||||
|  */ | ||||
| mesh.Vertex.prototype.toList = function() { | ||||
| geo.Vertex.prototype.toList = function() { | ||||
|     return ['v', this.index, this.x, this.y, this.z]; | ||||
| } | ||||
| 
 | ||||
| @ -168,37 +163,37 @@ mesh.Vertex.prototype.toList = function() { | ||||
|  * @returns {string} A string representing the vertex | ||||
|  * | ||||
|  * @example | ||||
|  * var vertex = new mesh.Vertex('v 3.5 3.6 3.7'); | ||||
|  * var vertex = new geo.Vertex('v 3.5 3.6 3.7'); | ||||
|  * console.log(vertex.toString()); // Prints v 3.5 3.6 3.7
 | ||||
|  */ | ||||
| mesh.Vertex.prototype.toString = function() { | ||||
| geo.Vertex.prototype.toString = function() { | ||||
|     return 'v ' + this.x + ' ' + this.y + ' ' + this.z; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Represent a 3D normal | ||||
|  * @constructor | ||||
|  * @memberOf mesh | ||||
|  * @augments mesh.Vertex | ||||
|  * @memberOf geo | ||||
|  * @augments geo.Vertex | ||||
|  */ | ||||
| mesh.Normal = function() { | ||||
|     mesh.Vertex.apply(this, arguments); | ||||
| geo.Normal = function() { | ||||
|     geo.Vertex.apply(this, arguments); | ||||
| } | ||||
| 
 | ||||
| mesh.Normal.prototype = Object.create(mesh.Vertex.prototype); | ||||
| mesh.Normal.prototype.constructor = mesh.Normal; | ||||
| geo.Normal.prototype = Object.create(geo.Vertex.prototype); | ||||
| geo.Normal.prototype.constructor = geo.Normal; | ||||
| 
 | ||||
| /** | ||||
|  * Gives a list representation of the normal | ||||
|  * @returns {Array} An array representing the normal | ||||
|  * | ||||
|  * @example | ||||
|  * var normal = new mesh.Normal('vn 3.5 3.6 3.7'); | ||||
|  * var normal = new geo.Normal('vn 3.5 3.6 3.7'); | ||||
|  * normal.index = 5; | ||||
|  * console.log(normal.toList()); // Prints ['vn', 5, 3.5, 3.6, 3.7]
 | ||||
|  */ | ||||
| mesh.Normal.prototype.toList = function() { | ||||
|     var superObject = mesh.Vertex.prototype.toList.call(this); | ||||
| geo.Normal.prototype.toList = function() { | ||||
|     var superObject = geo.Vertex.prototype.toList.call(this); | ||||
|     superObject[0] = 'vn'; | ||||
|     return superObject; | ||||
| } | ||||
| @ -208,11 +203,11 @@ mesh.Normal.prototype.toList = function() { | ||||
|  * @returns {string} A string representing the normal | ||||
|  * | ||||
|  * @example | ||||
|  * var normal = new mesh.Normal('vn 3.5 3.6 3.7'); | ||||
|  * var normal = new geo.Normal('vn 3.5 3.6 3.7'); | ||||
|  * console.log(normal.toString()); // Prints vn 3.5 3.6 3.7
 | ||||
|  */ | ||||
| mesh.Normal.prototype.toString = function() { | ||||
|     var superObject = mesh.Vertex.prototype.toString.call(this); | ||||
| geo.Normal.prototype.toString = function() { | ||||
|     var superObject = geo.Vertex.prototype.toString.call(this); | ||||
|     superObject.replace('v', 'vn'); | ||||
|     return superObject; | ||||
| } | ||||
| @ -220,9 +215,9 @@ mesh.Normal.prototype.toString = function() { | ||||
| /** | ||||
|  * Represent a texture coordinate element | ||||
|  * @constructor | ||||
|  * @memberOf mesh | ||||
|  * @memberOf geo | ||||
|  */ | ||||
| mesh.TexCoord = function() { | ||||
| geo.TexCoord = function() { | ||||
|     if (typeof arguments[0] === 'string' || arguments[0] instanceof String) { | ||||
|         var split = arguments[0].replace(/\s+/g, " ").split(' '); | ||||
| 
 | ||||
| @ -251,11 +246,11 @@ mesh.TexCoord = function() { | ||||
|  * @returns {Array} An array representing the texture coordinate | ||||
|  * | ||||
|  * @example | ||||
|  * var texCoord = new mesh.TexCoord('vt 3.5 3.6'); | ||||
|  * var texCoord = new geo.TexCoord('vt 3.5 3.6'); | ||||
|  * texture coordinate.index = 5; | ||||
|  * console.log(texture coordinate.toList()); // Prints ['vt', 5, 3.5, 3.6]
 | ||||
|  */ | ||||
| mesh.TexCoord.prototype.toList = function() { | ||||
| geo.TexCoord.prototype.toList = function() { | ||||
|     return ['vt', this.index, this.x, this.y]; | ||||
| } | ||||
| 
 | ||||
| @ -264,10 +259,10 @@ mesh.TexCoord.prototype.toList = function() { | ||||
|  * @returns {string} A string representing the texture coordinate | ||||
|  * | ||||
|  * @example | ||||
|  * var texCoord = new mesh.TexCoord('vt 3.5 3.6'); | ||||
|  * var texCoord = new geo.TexCoord('vt 3.5 3.6'); | ||||
|  * console.log(texCoord.toString()); // Prints vt 3.5 3.6
 | ||||
|  */ | ||||
| mesh.TexCoord.prototype.toString = function() { | ||||
| geo.TexCoord.prototype.toString = function() { | ||||
|     return 'vt ' + this.x + ' ' + this.y; | ||||
| } | ||||
| 
 | ||||
| @ -275,9 +270,9 @@ mesh.TexCoord.prototype.toString = function() { | ||||
| /** | ||||
|  * Represents a face | ||||
|  * @constructor | ||||
|  * @memberOf mesh | ||||
|  * @memberOf geo | ||||
|  */ | ||||
| mesh.Face = function() { | ||||
| geo.Face = function() { | ||||
|     if (typeof arguments[0] === 'string' || arguments[0] instanceof String) { | ||||
|         if (arguments[0].indexOf('/') === -1) { | ||||
|             // No / : easy win : "f 1 2 3"  or "f 1 2 3 4"
 | ||||
| @ -379,12 +374,12 @@ var parseFace = function(arg) { | ||||
| 
 | ||||
|     // Face3
 | ||||
|     if (split.length >= 4) { | ||||
|         ret.push(new mesh.Face(arg)); | ||||
|         ret.push(new geo.Face(arg)); | ||||
|     } | ||||
| 
 | ||||
|     // Face3 == 2 * Face3
 | ||||
|     if (split.length >= 5) { | ||||
|         ret.push(new mesh.Face( | ||||
|         ret.push(new geo.Face( | ||||
|             [ | ||||
|                 split[0], | ||||
|                 split[1], | ||||
| @ -401,7 +396,7 @@ var parseFace = function(arg) { | ||||
|  * Returns the max index of the vertices of the face | ||||
|  * @returns {Number} the max index of the vertices | ||||
|  */ | ||||
| mesh.Face.prototype.max = function() { | ||||
| geo.Face.prototype.max = function() { | ||||
|     if (this.d !== undefined) { | ||||
|         return Math.max(this.a, this.b, this.c, this.d); | ||||
|     } else { | ||||
| @ -413,7 +408,7 @@ mesh.Face.prototype.max = function() { | ||||
|  * Returns the max index of the texture coordinates of the face | ||||
|  * @returns {Number} the max index of the texture coordinates | ||||
|  */ | ||||
| mesh.Face.prototype.maxTexture = function() { | ||||
| geo.Face.prototype.maxTexture = function() { | ||||
|     if (this.dTexture) { | ||||
|         return Math.max(this.aTexture, this.bTexture, this.cTexture, this.dTexture); | ||||
|     } else { | ||||
| @ -433,11 +428,11 @@ mesh.Face.prototype.maxTexture = function() { | ||||
|  *  </ol> | ||||
|  * | ||||
|  * @example | ||||
|  * var face = new mesh.Face('f 1/2/3 4/5/6 7/8/9'); | ||||
|  * var face = new geo.Face('f 1/2/3 4/5/6 7/8/9'); | ||||
|  * texture coordinate.index = 5; | ||||
|  * console.log(texture coordinate.toList()); // Prints ['f', 5, [1,4,7], [2,5,8], [3,6,9]]
 | ||||
|  */ | ||||
| mesh.Face.prototype.toList = function() { | ||||
| geo.Face.prototype.toList = function() { | ||||
|     var l = ['f', this.index, this.meshIndex, | ||||
|                                          [this.a,        this.b,        this.c       ], | ||||
|              isNaN(this.aTexture) ? [] : [this.aTexture, this.bTexture, this.cTexture], | ||||
| @ -464,10 +459,10 @@ mesh.Face.prototype.toList = function() { | ||||
|  * @returns {string} A string representing the face | ||||
|  * | ||||
|  * @example | ||||
|  * var face = new mesh.Face('f 3 5 6'); | ||||
|  * var face = new geo.Face('f 3 5 6'); | ||||
|  * console.log(face.toString()); // Prints f 3 5 6
 | ||||
|  */ | ||||
| mesh.Face.prototype.toString = function() { | ||||
| geo.Face.prototype.toString = function() { | ||||
|     return 'f ' + this.a + ' ' + this.b + ' ' + this.c + (this.d !== undefined ? ' ' + this.d : ''); | ||||
| } | ||||
| 
 | ||||
| @ -475,9 +470,9 @@ mesh.Face.prototype.toString = function() { | ||||
|  * Represents a material name | ||||
|  * @constructor | ||||
|  * @param {string} line the string representing the material | ||||
|  * @memberOf mesh | ||||
|  * @memberOf geo | ||||
|  */ | ||||
| mesh.Material = function() { | ||||
| geo.Material = function() { | ||||
|     var split = arguments[0].replace(/\s+/g, ' ').trim().split(' '); | ||||
| 
 | ||||
|     /** | ||||
| @ -491,7 +486,7 @@ mesh.Material = function() { | ||||
|  * Gives a string representation of the material | ||||
|  * @returns {string} obj representation of usemtl | ||||
|  */ | ||||
| mesh.Material.prototype.toString = function() { | ||||
| geo.Material.prototype.toString = function() { | ||||
|     return 'usemtl ' + this.name; | ||||
| } | ||||
| 
 | ||||
| @ -499,11 +494,10 @@ mesh.Material.prototype.toString = function() { | ||||
|  * Gives a list representation of the material | ||||
|  * @returns {array} an array representing the material | ||||
|  * @example | ||||
|  * var material = new mesh.Material('usemtl MyMaterial'); | ||||
|  * var material = new geo.Material('usemtl MyMaterial'); | ||||
|  * console.log(material.toList()); // Logs ['u', 'MyMaterial']
 | ||||
|  */ | ||||
| mesh.Material.prototype.toList = function() { | ||||
| geo.Material.prototype.toList = function() { | ||||
|     return ['u', this.name]; | ||||
| } | ||||
| 
 | ||||
| module.exports = mesh; | ||||
|  | ||||
| @ -1,46 +1,38 @@ | ||||
| var fs = require('fs'); | ||||
| var mesh = require('./Mesh.js'); | ||||
| 
 | ||||
| /** | ||||
|  * @namespace | ||||
|  */ | ||||
| var cont = {}; | ||||
| 
 | ||||
| /** | ||||
|  * Represents a mesh. All meshes are loaded once in cont.availableMesh to avoid | ||||
|  * Represents a mesh. All meshes are loaded once in geo.availableMesh to avoid | ||||
|  * loading at each mesh request | ||||
|  * @constructor | ||||
|  * @memberOf cont | ||||
|  * @memberOf geo | ||||
|  */ | ||||
| cont.MeshContainer = function(path) { | ||||
| geo.MeshContainer = function(path) { | ||||
| 
 | ||||
|     /** | ||||
|      * array of each part of the mesh | ||||
|      * @type {mesh.Mesh[]} | ||||
|      * @type {geo.Mesh[]} | ||||
|      */ | ||||
|     this.meshes = []; | ||||
| 
 | ||||
|     /** | ||||
|      * array of the vertices of the meshes (all merged) | ||||
|      * @type {mesh.Vertex[]} | ||||
|      * @type {geo.Vertex[]} | ||||
|      */ | ||||
|     this.vertices = []; | ||||
| 
 | ||||
|     /** | ||||
|      * array of the faces of the meshes (all merged) | ||||
|      * @type {mesh.Face[]} | ||||
|      * @type {geo.Face[]} | ||||
|      */ | ||||
|     this.faces = []; | ||||
| 
 | ||||
|     /** | ||||
|      * array of the normals of the meshes (all merged) | ||||
|      * @type {mesh.Normal[]} | ||||
|      * @type {geo.Normal[]} | ||||
|      */ | ||||
|     this.normals = []; | ||||
| 
 | ||||
|     /** | ||||
|      * array of the texture coordinates (all merged) | ||||
|      * @type {mesh.TexCoord[]} | ||||
|      * @type {geo.TexCoord[]} | ||||
|      */ | ||||
|     this.texCoords = []; | ||||
| 
 | ||||
| @ -56,7 +48,7 @@ cont.MeshContainer = function(path) { | ||||
|  * Loads a obj file | ||||
|  * @param {string} path the path to the file | ||||
|  */ | ||||
| cont.MeshContainer.prototype.loadFromFile = function(path) { | ||||
| geo.MeshContainer.prototype.loadFromFile = function(path) { | ||||
|     var self = this; | ||||
| 
 | ||||
|     var data = fs.readFileSync(path, {encoding: 'utf-8'}); | ||||
| @ -76,13 +68,13 @@ cont.MeshContainer.prototype.loadFromFile = function(path) { | ||||
|                 if (line[1] === 't') { | ||||
| 
 | ||||
|                     // Texture coord
 | ||||
|                     var texCoord = new mesh.TexCoord(line); | ||||
|                     var texCoord = new geo.TexCoord(line); | ||||
|                     texCoord.index = self.texCoords.length; | ||||
|                     self.texCoords.push(texCoord); | ||||
| 
 | ||||
|                 } else if (line[1] === 'n') { | ||||
| 
 | ||||
|                     var normal = new mesh.Normal(line); | ||||
|                     var normal = new geo.Normal(line); | ||||
|                     normal.index = self.normals.length; | ||||
|                     self.normals.push(normal); | ||||
| 
 | ||||
| @ -92,12 +84,12 @@ cont.MeshContainer.prototype.loadFromFile = function(path) { | ||||
|                     // if (currentMesh === undefined) {
 | ||||
| 
 | ||||
|                     //     // Chances are that we won't use any material in this case
 | ||||
|                     //     currentMesh = new mesh.Mesh();
 | ||||
|                     //     currentMesh = new geo.Mesh();
 | ||||
|                     //     self.meshes.push(currentMesh);
 | ||||
| 
 | ||||
|                     // }
 | ||||
| 
 | ||||
|                     var vertex = new mesh.Vertex(line); | ||||
|                     var vertex = new geo.Vertex(line); | ||||
|                     vertex.index = self.vertices.length; | ||||
|                     self.vertices.push(vertex); | ||||
| 
 | ||||
| @ -107,7 +99,7 @@ cont.MeshContainer.prototype.loadFromFile = function(path) { | ||||
| 
 | ||||
|                 // Create mesh if it doesn't exist
 | ||||
|                 if (currentMesh === undefined) { | ||||
|                     currentMesh = new mesh.Mesh(); | ||||
|                     currentMesh = new geo.Mesh(); | ||||
|                     self.meshes.push(currentMesh); | ||||
|                 } | ||||
| 
 | ||||
| @ -132,9 +124,9 @@ cont.MeshContainer.prototype.loadFromFile = function(path) { | ||||
|                 // If a current mesh exists, finish it
 | ||||
| 
 | ||||
|                 // Create a new mesh
 | ||||
|                 currentMesh = new mesh.Mesh(); | ||||
|                 currentMesh = new geo.Mesh(); | ||||
|                 self.meshes.push(currentMesh); | ||||
|                 currentMesh.material = (new mesh.Material(line)).name; | ||||
|                 currentMesh.material = (new geo.Material(line)).name; | ||||
|                 // console.log(currentMesh.material);
 | ||||
| 
 | ||||
|             } | ||||
| @ -157,13 +149,11 @@ for (var i = 1; i < 26; i++) { | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| cont.availableMeshes = {}; | ||||
| geo.availableMeshes = {}; | ||||
| 
 | ||||
| for (var i = 0; i < availableMeshNames.length; i++) { | ||||
| 
 | ||||
|     var name = availableMeshNames[i]; | ||||
|     cont.availableMeshes[name] = new cont.MeshContainer(name.substring(1, name.length)); | ||||
|     geo.availableMeshes[name] = new geo.MeshContainer(name.substring(1, name.length)); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| module.exports = cont; | ||||
|  | ||||
| @ -1,12 +1,3 @@ | ||||
| var fs = require('fs'); | ||||
| var mesh = require('./Mesh.js'); | ||||
| var cont = require('./MeshContainer.js'); | ||||
| 
 | ||||
| /** | ||||
|  * @namespace | ||||
|  */ | ||||
| var geo = {}; | ||||
| 
 | ||||
| /** | ||||
|  * @private | ||||
|  */ | ||||
| @ -58,7 +49,13 @@ geo.MeshStreamer = function(path) { | ||||
| 
 | ||||
|     /** | ||||
|      * array of array telling if the jth face of the ith mesh has already been sent | ||||
|      * @type{Boolean[][]} | ||||
|      * | ||||
|      * For each mesh, there is an object containing | ||||
|      * <ul> | ||||
|      *   <li>`counter` : the number of faces currently sent</li> | ||||
|      *   <li>`array` : an array boolean telling if the ith face has already been sent</li> | ||||
|      * </ul> | ||||
|      * @type {Object[]} | ||||
|      */ | ||||
|     this.meshFaces = []; | ||||
| 
 | ||||
| @ -94,7 +91,7 @@ geo.MeshStreamer = function(path) { | ||||
| 
 | ||||
|     if (path !== undefined) { | ||||
| 
 | ||||
|         this.mesh = cont.availableMeshes[path]; | ||||
|         this.mesh = geo.availableMeshes[path]; | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| @ -189,7 +186,7 @@ geo.MeshStreamer.prototype.start = function(socket) { | ||||
| 
 | ||||
|     socket.on('request', function(path) { | ||||
| 
 | ||||
|         self.mesh = cont.availableMeshes[path]; | ||||
|         self.mesh = geo.availableMeshes[path]; | ||||
| 
 | ||||
|         self.meshFaces = new Array(self.mesh.meshes.length); | ||||
| 
 | ||||
| @ -540,5 +537,3 @@ geo.MeshStreamer.prototype.isFinished = function(i) { | ||||
|     return this.meshFaces[i].counter === this.meshFaces[i].array.length; | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| module.exports = geo; | ||||
|  | ||||
| @ -3,7 +3,7 @@ OPT=--compilation_level SIMPLE_OPTIMIZATIONS | ||||
| ifeq ($(TYPE),RELEASE) | ||||
| 	CLOSURE=java -jar /usr/share/java/closure-compiler/closure-compiler.jar | ||||
| else | ||||
| 	CLOSURE=./compiler.sh | ||||
| 	CLOSURE=../utils/compiler.sh | ||||
| endif | ||||
| 
 | ||||
| all: List ListTest Socket Three Stats ThreeTools Bouncing Multisphere StreamingSimulator PrototypeTools PrototypeReplay PrototypeInteractive Tutorial | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| var fs = require('fs'); | ||||
| var geo = require('./geo/MeshStreamer.js'); | ||||
| var geo = require('./lib/geo.min.js'); | ||||
| 
 | ||||
| module.exports = function(io) { | ||||
|     io.on('connection', function(socket) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user