|
@@ -529,7 +529,7 @@ THREE.SubdivisionModifier.prototype.smooth=function(b){function c(b,e,c,f,n,t){v
|
|
e)}var f=[],h=[],k=[],m=this,n=b.vertices,f=b.faces,p=n.concat(),t=[],w={},u=[],x,v,y,z,A,F=b.faceVertexUvs[0];x=0;for(v=F.length;x<v;x++){y=0;for(z=F[x].length;y<z;y++)A=f[x]["abcd".charAt(y)],u[A]||(u[A]=F[x][y])}var E;x=0;for(v=f.length;x<v;x++)if(A=f[x],t.push(A.centroid),p.push(new THREE.Vertex(A.centroid)),m.supportUVs&&u.length!=0){E=new THREE.UV;if(A instanceof THREE.Face3)E.u=u[A.a].u+u[A.b].u+u[A.c].u,E.v=u[A.a].v+u[A.b].v+u[A.c].v,E.u/=3,E.v/=3;else if(A instanceof THREE.Face4)E.u=u[A.a].u+
|
|
e)}var f=[],h=[],k=[],m=this,n=b.vertices,f=b.faces,p=n.concat(),t=[],w={},u=[],x,v,y,z,A,F=b.faceVertexUvs[0];x=0;for(v=F.length;x<v;x++){y=0;for(z=F[x].length;y<z;y++)A=f[x]["abcd".charAt(y)],u[A]||(u[A]=F[x][y])}var E;x=0;for(v=f.length;x<v;x++)if(A=f[x],t.push(A.centroid),p.push(new THREE.Vertex(A.centroid)),m.supportUVs&&u.length!=0){E=new THREE.UV;if(A instanceof THREE.Face3)E.u=u[A.a].u+u[A.b].u+u[A.c].u,E.v=u[A.a].v+u[A.b].v+u[A.c].v,E.u/=3,E.v/=3;else if(A instanceof THREE.Face4)E.u=u[A.a].u+
|
|
u[A.b].u+u[A.c].u+u[A.d].u,E.v=u[A.a].v+u[A.b].v+u[A.c].v+u[A.d].v,E.u/=4,E.v/=4;u.push(E)}z=function(b){function c(b,e,f){b[e]===void 0&&(b[e]=[]);b[e].push(f)}var f,h,k,m,n={};f=0;for(h=b.faces.length;f<h;f++)k=b.faces[f],k instanceof THREE.Face3?(m=e(k.a,k.b),c(n,m,f),m=e(k.b,k.c),c(n,m,f),m=e(k.c,k.a),c(n,m,f)):k instanceof THREE.Face4&&(m=e(k.a,k.b),c(n,m,f),m=e(k.b,k.c),c(n,m,f),m=e(k.c,k.d),c(n,m,f),m=e(k.d,k.a),c(n,m,f));return n}(b);var D,G,L=0,F=n.length,M;for(x in z)if(A=z[x],E=A[0],D=
|
|
u[A.b].u+u[A.c].u+u[A.d].u,E.v=u[A.a].v+u[A.b].v+u[A.c].v+u[A.d].v,E.u/=4,E.v/=4;u.push(E)}z=function(b){function c(b,e,f){b[e]===void 0&&(b[e]=[]);b[e].push(f)}var f,h,k,m,n={};f=0;for(h=b.faces.length;f<h;f++)k=b.faces[f],k instanceof THREE.Face3?(m=e(k.a,k.b),c(n,m,f),m=e(k.b,k.c),c(n,m,f),m=e(k.c,k.a),c(n,m,f)):k instanceof THREE.Face4&&(m=e(k.a,k.b),c(n,m,f),m=e(k.b,k.c),c(n,m,f),m=e(k.c,k.d),c(n,m,f),m=e(k.d,k.a),c(n,m,f));return n}(b);var D,G,L=0,F=n.length,M;for(x in z)if(A=z[x],E=A[0],D=
|
|
A[1],M=x.split("_"),v=M[0],M=M[1],G=new THREE.Vector3,A.length!=2?(G.addSelf(n[v].position),G.addSelf(n[M].position),G.multiplyScalar(0.5)):(G.addSelf(t[E]),G.addSelf(t[D]),G.addSelf(n[v].position),G.addSelf(n[M].position),G.multiplyScalar(0.25)),w[x]=F+f.length+L,p.push(new THREE.Vertex(G)),L++,m.supportUVs&&u.length!=0)E=new THREE.UV,E.u=u[v].u+u[M].u,E.v=u[v].v+u[M].v,E.u/=2,E.v/=2,u.push(E);x=0;for(v=t.length;x<v;x++)A=f[x],E=F+x,A instanceof THREE.Face3?(D=e(A.a,A.b),M=e(A.b,A.c),L=e(A.c,A.a),
|
|
A[1],M=x.split("_"),v=M[0],M=M[1],G=new THREE.Vector3,A.length!=2?(G.addSelf(n[v].position),G.addSelf(n[M].position),G.multiplyScalar(0.5)):(G.addSelf(t[E]),G.addSelf(t[D]),G.addSelf(n[v].position),G.addSelf(n[M].position),G.multiplyScalar(0.25)),w[x]=F+f.length+L,p.push(new THREE.Vertex(G)),L++,m.supportUVs&&u.length!=0)E=new THREE.UV,E.u=u[v].u+u[M].u,E.v=u[v].v+u[M].v,E.u/=2,E.v/=2,u.push(E);x=0;for(v=t.length;x<v;x++)A=f[x],E=F+x,A instanceof THREE.Face3?(D=e(A.a,A.b),M=e(A.b,A.c),L=e(A.c,A.a),
|
|
-c(E,w[D],A.b,w[M],A,["123","12","2","23"]),c(E,w[M],A.c,w[L],A,["123","23","3","31"]),c(E,w[L],A.a,w[D],A,["123","31","1","12"])):A instanceof THREE.Face4?(D=e(A.a,A.b),M=e(A.b,A.c),L=e(A.c,A.d),G=e(A.d,A.a),c(E,w[D],A.b,w[M],A,["1234","12","2","23"]),c(E,w[M],A.c,w[L],A,["1234","13","3","34"]),c(E,w[L],A.d,w[G],A,["1234","34","4","41"]),c(E,w[G],A.a,w[D],A,["1234","41","1","12"])):console.log("face should be a face!",A);var f=p,J={},B={},p=function(b,e){J[b]===void 0&&(J[b]=[]);J[b].push(e)},w=function(b,
|
|
|
|
|
|
+c(E,w[D],A.b,w[M],A,["123","12","2","23"]),c(E,w[M],A.c,w[L],A,["123","23","3","31"]),c(E,w[L],A.a,w[D],A,["123","31","1","12"])):A instanceof THREE.Face4?(D=e(A.a,A.b),M=e(A.b,A.c),L=e(A.c,A.d),G=e(A.d,A.a),c(E,w[D],A.b,w[M],A,["1234","12","2","23"]),c(E,w[M],A.c,w[L],A,["1234","23","3","34"]),c(E,w[L],A.d,w[G],A,["1234","34","4","41"]),c(E,w[G],A.a,w[D],A,["1234","41","1","12"])):console.log("face should be a face!",A);var f=p,J={},B={},p=function(b,e){J[b]===void 0&&(J[b]=[]);J[b].push(e)},w=function(b,
|
|
e){B[b]===void 0&&(B[b]={});B[b][e]=null};for(x in z)A=z[x],M=x.split("_"),v=M[0],M=M[1],p(v,[v,M]),p(M,[v,M]),E=A[0],D=A[1],w(v,E),D?w(v,D):w(v,E),w(M,E),D?w(M,D):w(M,E);p=new THREE.Vector3;w=new THREE.Vector3;x=0;for(v=n.length;x<v;x++)if(J[x]!==void 0){p.set(0,0,0);w.set(0,0,0);z=new THREE.Vector3(0,0,0);F=0;for(y in B[x])p.addSelf(t[y]),F++;p.divideScalar(F);F=J[x].length;for(y=0;y<F;y++)A=J[x][y],A=n[A[0]].position.clone().addSelf(n[A[1]].position).divideScalar(2),w.addSelf(A);w.divideScalar(F);
|
|
e){B[b]===void 0&&(B[b]={});B[b][e]=null};for(x in z)A=z[x],M=x.split("_"),v=M[0],M=M[1],p(v,[v,M]),p(M,[v,M]),E=A[0],D=A[1],w(v,E),D?w(v,D):w(v,E),w(M,E),D?w(M,D):w(M,E);p=new THREE.Vector3;w=new THREE.Vector3;x=0;for(v=n.length;x<v;x++)if(J[x]!==void 0){p.set(0,0,0);w.set(0,0,0);z=new THREE.Vector3(0,0,0);F=0;for(y in B[x])p.addSelf(t[y]),F++;p.divideScalar(F);F=J[x].length;for(y=0;y<F;y++)A=J[x][y],A=n[A[0]].position.clone().addSelf(n[A[1]].position).divideScalar(2),w.addSelf(A);w.divideScalar(F);
|
|
z.addSelf(n[x].position);z.multiplyScalar(F-3);z.addSelf(p);z.addSelf(w.multiplyScalar(2));z.divideScalar(F);f[x].position=z}b.vertices=f;b.faces=h;b.faceVertexUvs[0]=k;delete b.__tmpVertices;b.computeCentroids();b.computeFaceNormals();b.computeVertexNormals()};THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
|
|
z.addSelf(n[x].position);z.multiplyScalar(F-3);z.addSelf(p);z.addSelf(w.multiplyScalar(2));z.divideScalar(F);f[x].position=z}b.vertices=f;b.faces=h;b.faceVertexUvs[0]=k;delete b.__tmpVertices;b.computeCentroids();b.computeFaceNormals();b.computeVertexNormals()};THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
|
|
THREE.Loader.prototype={constructor:THREE.Loader,addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/
|
|
THREE.Loader.prototype={constructor:THREE.Loader,addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/
|