|
@@ -200,7 +200,10 @@ THREE.JSONLoader.prototype.parse=function(a,b){var c=new THREE.Geometry,d=void 0
|
|
y[h++],p.b=y[h++],p.c=y[h++],p.d=y[h++],k=4):(p=new THREE.Face3,p.a=y[h++],p.b=y[h++],p.c=y[h++],k=3);g&&(g=y[h++],p.materialIndex=g);g=c.faces.length;if(e)for(e=0;e<I;e++)q=a.uvs[e],l=y[h++],t=q[2*l],l=q[2*l+1],c.faceUvs[e][g]=new THREE.Vector2(t,l);if(f)for(e=0;e<I;e++){q=a.uvs[e];z=[];for(f=0;f<k;f++)l=y[h++],t=q[2*l],l=q[2*l+1],z[f]=new THREE.Vector2(t,l);c.faceVertexUvs[e][g]=z}n&&(n=3*y[h++],f=new THREE.Vector3,f.x=u[n++],f.y=u[n++],f.z=u[n],p.normal=f);if(m)for(e=0;e<k;e++)n=3*y[h++],f=new THREE.Vector3,
|
|
y[h++],p.b=y[h++],p.c=y[h++],p.d=y[h++],k=4):(p=new THREE.Face3,p.a=y[h++],p.b=y[h++],p.c=y[h++],k=3);g&&(g=y[h++],p.materialIndex=g);g=c.faces.length;if(e)for(e=0;e<I;e++)q=a.uvs[e],l=y[h++],t=q[2*l],l=q[2*l+1],c.faceUvs[e][g]=new THREE.Vector2(t,l);if(f)for(e=0;e<I;e++){q=a.uvs[e];z=[];for(f=0;f<k;f++)l=y[h++],t=q[2*l],l=q[2*l+1],z[f]=new THREE.Vector2(t,l);c.faceVertexUvs[e][g]=z}n&&(n=3*y[h++],f=new THREE.Vector3,f.x=u[n++],f.y=u[n++],f.z=u[n],p.normal=f);if(m)for(e=0;e<k;e++)n=3*y[h++],f=new THREE.Vector3,
|
|
f.x=u[n++],f.y=u[n++],f.z=u[n],p.vertexNormals.push(f);r&&(m=y[h++],m=new THREE.Color(B[m]),p.color=m);if(s)for(e=0;e<k;e++)m=y[h++],m=new THREE.Color(B[m]),p.vertexColors.push(m);c.faces.push(p)}if(a.skinWeights){h=0;for(i=a.skinWeights.length;h<i;h+=2)y=a.skinWeights[h],u=a.skinWeights[h+1],c.skinWeights.push(new THREE.Vector4(y,u,0,0))}if(a.skinIndices){h=0;for(i=a.skinIndices.length;h<i;h+=2)y=a.skinIndices[h],u=a.skinIndices[h+1],c.skinIndices.push(new THREE.Vector4(y,u,0,0))}c.bones=a.bones;
|
|
f.x=u[n++],f.y=u[n++],f.z=u[n],p.vertexNormals.push(f);r&&(m=y[h++],m=new THREE.Color(B[m]),p.color=m);if(s)for(e=0;e<k;e++)m=y[h++],m=new THREE.Color(B[m]),p.vertexColors.push(m);c.faces.push(p)}if(a.skinWeights){h=0;for(i=a.skinWeights.length;h<i;h+=2)y=a.skinWeights[h],u=a.skinWeights[h+1],c.skinWeights.push(new THREE.Vector4(y,u,0,0))}if(a.skinIndices){h=0;for(i=a.skinIndices.length;h<i;h+=2)y=a.skinIndices[h],u=a.skinIndices[h+1],c.skinIndices.push(new THREE.Vector4(y,u,0,0))}c.bones=a.bones;
|
|
c.animation=a.animation;if(void 0!==a.morphTargets){h=0;for(i=a.morphTargets.length;h<i;h++){c.morphTargets[h]={};c.morphTargets[h].name=a.morphTargets[h].name;c.morphTargets[h].vertices=[];B=c.morphTargets[h].vertices;I=a.morphTargets[h].vertices;y=0;for(u=I.length;y<u;y+=3)s=new THREE.Vector3,s.x=I[y]*d,s.y=I[y+1]*d,s.z=I[y+2]*d,B.push(s)}}if(void 0!==a.morphColors){h=0;for(i=a.morphColors.length;h<i;h++){c.morphColors[h]={};c.morphColors[h].name=a.morphColors[h].name;c.morphColors[h].colors=[];
|
|
c.animation=a.animation;if(void 0!==a.morphTargets){h=0;for(i=a.morphTargets.length;h<i;h++){c.morphTargets[h]={};c.morphTargets[h].name=a.morphTargets[h].name;c.morphTargets[h].vertices=[];B=c.morphTargets[h].vertices;I=a.morphTargets[h].vertices;y=0;for(u=I.length;y<u;y+=3)s=new THREE.Vector3,s.x=I[y]*d,s.y=I[y+1]*d,s.z=I[y+2]*d,B.push(s)}}if(void 0!==a.morphColors){h=0;for(i=a.morphColors.length;h<i;h++){c.morphColors[h]={};c.morphColors[h].name=a.morphColors[h].name;c.morphColors[h].colors=[];
|
|
-u=c.morphColors[h].colors;B=a.morphColors[h].colors;d=0;for(y=B.length;d<y;d+=3)I=new THREE.Color(16755200),I.setRGB(B[d],B[d+1],B[d+2]),u.push(I)}}c.computeCentroids();c.computeFaceNormals();if(void 0===a.materials)return{geometry:c};d=this.initMaterials(a.materials,b);this.needsTangents(d)&&c.computeTangents();return{geometry:c,materials:d}};THREE.LoadingMonitor=function(){THREE.EventDispatcher.call(this);var a=this,b=0,c=0,d=function(){b++;a.dispatchEvent({type:"progress",loaded:b,total:c});b===c&&a.dispatchEvent({type:"load"})};this.add=function(a){c++;a.addEventListener("load",d,!1)}};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){};this.geometryHandlerMap={};this.hierarchyHandlerMap={};this.addGeometryHandler("ascii",THREE.JSONLoader)};THREE.SceneLoader.prototype.constructor=THREE.SceneLoader;
|
|
|
|
|
|
+u=c.morphColors[h].colors;B=a.morphColors[h].colors;d=0;for(y=B.length;d<y;d+=3)I=new THREE.Color(16755200),I.setRGB(B[d],B[d+1],B[d+2]),u.push(I)}}c.computeCentroids();c.computeFaceNormals();if(void 0===a.materials)return{geometry:c};d=this.initMaterials(a.materials,b);this.needsTangents(d)&&c.computeTangents();return{geometry:c,materials:d}};THREE.LoadingMonitor=function(){THREE.EventDispatcher.call(this);var a=this,b=0,c=0,d=function(){b++;a.dispatchEvent({type:"progress",loaded:b,total:c});b===c&&a.dispatchEvent({type:"load"})};this.add=function(a){c++;a.addEventListener("load",d,!1)}};THREE.MaterialLoader=function(){THREE.EventDispatcher.call(this)};
|
|
|
|
+THREE.MaterialLoader.prototype={constructor:THREE.MaterialLoader,load:function(a){var b=this,c=new XMLHttpRequest;c.addEventListener("load",function(a){a=b.parse(JSON.parse(a.target.responseText));b.dispatchEvent({type:"load",content:a})},!1);c.addEventListener("progress",function(a){b.dispatchEvent({type:"progress",loaded:a.loaded,total:a.total})},!1);c.addEventListener("error",function(){b.dispatchEvent({type:"error",message:"Couldn't load URL ["+a+"]"})},!1);c.open("GET",a,!0);c.send(null)},parse:function(a){var b;
|
|
|
|
+switch(a.type){case "MeshBasicMaterial":b=new THREE.MeshBasicMaterial({color:a.color,opacity:a.opacity,transparent:a.transparent,wireframe:a.wireframe});break;case "MeshLambertMaterial":b=new THREE.MeshLambertMaterial({color:a.color,ambient:a.ambient,emissive:a.emissive,opacity:a.opacity,transparent:a.transparent,wireframe:a.wireframe});break;case "MeshPhongMaterial":b=new THREE.MeshPhongMaterial({color:a.color,ambient:a.ambient,emissive:a.emissive,specular:a.specular,shininess:a.shininess,opacity:a.opacity,
|
|
|
|
+transparent:a.transparent,wireframe:a.wireframe});break;case "MeshNormalMaterial":b=new THREE.MeshNormalMaterial({opacity:a.opacity,transparent:a.transparent,wireframe:a.wireframe});break;case "MeshDepthMaterial":b=new THREE.MeshDepthMaterial({opacity:a.opacity,transparent:a.transparent,wireframe:a.wireframe})}return b}};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){};this.geometryHandlerMap={};this.hierarchyHandlerMap={};this.addGeometryHandler("ascii",THREE.JSONLoader)};THREE.SceneLoader.prototype.constructor=THREE.SceneLoader;
|
|
THREE.SceneLoader.prototype.load=function(a,b){var c=this,d=new XMLHttpRequest;d.onreadystatechange=function(){if(4===d.readyState)if(200===d.status||0===d.status){var e=JSON.parse(d.responseText);c.parse(e,b,a)}else console.error("THREE.SceneLoader: Couldn't load ["+a+"] ["+d.status+"]")};d.open("GET",a,!0);d.send(null)};THREE.SceneLoader.prototype.addGeometryHandler=function(a,b){this.geometryHandlerMap[a]={loaderClass:b}};
|
|
THREE.SceneLoader.prototype.load=function(a,b){var c=this,d=new XMLHttpRequest;d.onreadystatechange=function(){if(4===d.readyState)if(200===d.status||0===d.status){var e=JSON.parse(d.responseText);c.parse(e,b,a)}else console.error("THREE.SceneLoader: Couldn't load ["+a+"] ["+d.status+"]")};d.open("GET",a,!0);d.send(null)};THREE.SceneLoader.prototype.addGeometryHandler=function(a,b){this.geometryHandlerMap[a]={loaderClass:b}};
|
|
THREE.SceneLoader.prototype.addHierarchyHandler=function(a,b){this.hierarchyHandlerMap[a]={loaderClass:b}};
|
|
THREE.SceneLoader.prototype.addHierarchyHandler=function(a,b){this.hierarchyHandlerMap[a]={loaderClass:b}};
|
|
THREE.SceneLoader.prototype.parse=function(a,b,c){function d(a,b){return"relativeToHTML"==b?a:n+"/"+a}function e(){f(w.scene,J.objects)}function f(a,b){var c,e,g,i,k,n,p;for(p in b)if(void 0===w.objects[p]){var q=b[p],u=null;if(q.type&&q.type in m.hierarchyHandlerMap){if(void 0===q.loading){e={type:1,url:1,material:1,position:1,rotation:1,scale:1,visible:1,children:1,userData:1,skin:1,morph:1,mirroredLoop:1,duration:1};g={};for(var A in q)A in e||(g[A]=q[A]);s=w.materials[q.material];q.loading=!0;
|
|
THREE.SceneLoader.prototype.parse=function(a,b,c){function d(a,b){return"relativeToHTML"==b?a:n+"/"+a}function e(){f(w.scene,J.objects)}function f(a,b){var c,e,g,i,k,n,p;for(p in b)if(void 0===w.objects[p]){var q=b[p],u=null;if(q.type&&q.type in m.hierarchyHandlerMap){if(void 0===q.loading){e={type:1,url:1,material:1,position:1,rotation:1,scale:1,visible:1,children:1,userData:1,skin:1,morph:1,mirroredLoop:1,duration:1};g={};for(var A in q)A in e||(g[A]=q[A]);s=w.materials[q.material];q.loading=!0;
|