|
@@ -404,13 +404,14 @@ c);this.translateY(this.moveVector.y*c);this.translateZ(this.moveVector.z*c);thi
|
|
|
-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-c+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],
|
|
|
offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",d(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",d(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",d(this,this.mouseup),!1);window.addEventListener("keydown",d(this,this.keydown),!1);window.addEventListener("keyup",d(this,this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};
|
|
|
THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
|
|
|
-THREE.RollCamera=function(b,d,c,f){THREE.Camera.call(this,b,d,c,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.domElement=document;this.useTarget=!1;this.matrixAutoUpdate=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=(new Date).getTime();this.delta=0;var g=new THREE.Vector3,h=new THREE.Vector3,j=new THREE.Vector3,k=new THREE.Matrix4,m=!1,o=1,p=0,t=0,v=0,u=0,B=0,F=window.innerWidth/2,V=window.innerHeight/2;this.update=function(){var A=
|
|
|
-(new Date).getTime();this.delta=(A-this.lastUpdate)/1E3;this.lastUpdate=A;if(this.mouseLook){A=this.delta*this.lookSpeed;this.rotateHorizontally(A*u);this.rotateVertically(A*B)}A=this.delta*this.movementSpeed;this.translateZ(A*(p>0||this.autoForward&&!(p<0)?1:p));this.translateX(A*t);this.translateY(A*v);m&&(this.roll+=this.rollSpeed*this.delta*o);if(this.forward.y>0.9){this.forward.y=0.9;this.forward.normalize()}else if(this.forward.y<-0.9){this.forward.y=-0.9;this.forward.normalize()}j.copy(this.forward);
|
|
|
-h.set(0,1,0);g.cross(h,j).normalize();h.cross(j,g).normalize();this.matrix.n11=g.x;this.matrix.n12=h.x;this.matrix.n13=j.x;this.matrix.n21=g.y;this.matrix.n22=h.y;this.matrix.n23=j.y;this.matrix.n31=g.z;this.matrix.n32=h.z;this.matrix.n33=j.z;k.identity();k.n11=Math.cos(this.roll);k.n12=-Math.sin(this.roll);k.n21=Math.sin(this.roll);k.n22=Math.cos(this.roll);this.matrix.multiplySelf(k);this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;
|
|
|
-this.supr.update.call(this)};this.translateX=function(A){this.position.x+=this.matrix.n11*A;this.position.y+=this.matrix.n21*A;this.position.z+=this.matrix.n31*A};this.translateY=function(A){this.position.x+=this.matrix.n12*A;this.position.y+=this.matrix.n22*A;this.position.z+=this.matrix.n32*A};this.translateZ=function(A){this.position.x-=this.matrix.n13*A;this.position.y-=this.matrix.n23*A;this.position.z-=this.matrix.n33*A};this.rotateHorizontally=function(A){g.set(this.matrix.n11,this.matrix.n21,
|
|
|
-this.matrix.n31);g.multiplyScalar(A);this.forward.subSelf(g);this.forward.normalize()};this.rotateVertically=function(A){h.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);h.multiplyScalar(A);this.forward.addSelf(h);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(A){A.preventDefault()},!1);this.domElement.addEventListener("mousemove",function(A){u=(A.clientX-F)/window.innerWidth;B=(A.clientY-V)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",
|
|
|
-function(A){A.preventDefault();A.stopPropagation();switch(A.button){case 0:p=1;break;case 2:p=-1}},!1);this.domElement.addEventListener("mouseup",function(A){A.preventDefault();A.stopPropagation();switch(A.button){case 0:p=0;break;case 2:p=0}},!1);this.domElement.addEventListener("keydown",function(A){switch(A.keyCode){case 38:case 87:p=1;break;case 37:case 65:t=-1;break;case 40:case 83:p=-1;break;case 39:case 68:t=1;break;case 81:m=!0;o=1;break;case 69:m=!0;o=-1;break;case 82:v=1;break;case 70:v=
|
|
|
--1}},!1);this.domElement.addEventListener("keyup",function(A){switch(A.keyCode){case 38:case 87:p=0;break;case 37:case 65:t=0;break;case 40:case 83:p=0;break;case 39:case 68:t=0;break;case 81:m=!1;break;case 69:m=!1;break;case 82:v=0;break;case 70:v=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
|
|
|
+THREE.RollCamera=function(b,d,c,f){THREE.Camera.call(this,b,d,c,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.useTarget=!1;this.matrixAutoUpdate=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=(new Date).getTime();this.delta=0;var g=new THREE.Vector3,h=new THREE.Vector3,j=new THREE.Vector3,k=new THREE.Matrix4,m=!1,o=1,p=0,t=0,v=0,u=0,B=0,F=window.innerWidth/2,V=window.innerHeight/
|
|
|
+2;this.update=function(){var A=(new Date).getTime();this.delta=(A-this.lastUpdate)/1E3;this.lastUpdate=A;if(this.mouseLook){A=this.delta*this.lookSpeed;this.rotateHorizontally(A*u);this.rotateVertically(A*B)}A=this.delta*this.movementSpeed;this.translateZ(A*(p>0||this.autoForward&&!(p<0)?1:p));this.translateX(A*t);this.translateY(A*v);m&&(this.roll+=this.rollSpeed*this.delta*o);if(this.forward.y>this.constrainVertical[1]){this.forward.y=this.constrainVertical[1];this.forward.normalize()}else if(this.forward.y<
|
|
|
+this.constrainVertical[0]){this.forward.y=this.constrainVertical[0];this.forward.normalize()}j.copy(this.forward);h.set(0,1,0);g.cross(h,j).normalize();h.cross(j,g).normalize();this.matrix.n11=g.x;this.matrix.n12=h.x;this.matrix.n13=j.x;this.matrix.n21=g.y;this.matrix.n22=h.y;this.matrix.n23=j.y;this.matrix.n31=g.z;this.matrix.n32=h.z;this.matrix.n33=j.z;k.identity();k.n11=Math.cos(this.roll);k.n12=-Math.sin(this.roll);k.n21=Math.sin(this.roll);k.n22=Math.cos(this.roll);this.matrix.multiplySelf(k);
|
|
|
+this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(A){this.position.x+=this.matrix.n11*A;this.position.y+=this.matrix.n21*A;this.position.z+=this.matrix.n31*A};this.translateY=function(A){this.position.x+=this.matrix.n12*A;this.position.y+=this.matrix.n22*A;this.position.z+=this.matrix.n32*A};this.translateZ=function(A){this.position.x-=this.matrix.n13*A;this.position.y-=
|
|
|
+this.matrix.n23*A;this.position.z-=this.matrix.n33*A};this.rotateHorizontally=function(A){g.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);g.multiplyScalar(A);this.forward.subSelf(g);this.forward.normalize()};this.rotateVertically=function(A){h.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);h.multiplyScalar(A);this.forward.addSelf(h);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(A){A.preventDefault()},!1);this.domElement.addEventListener("mousemove",
|
|
|
+function(A){u=(A.clientX-F)/window.innerWidth;B=(A.clientY-V)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(A){A.preventDefault();A.stopPropagation();switch(A.button){case 0:p=1;break;case 2:p=-1}},!1);this.domElement.addEventListener("mouseup",function(A){A.preventDefault();A.stopPropagation();switch(A.button){case 0:p=0;break;case 2:p=0}},!1);this.domElement.addEventListener("keydown",function(A){switch(A.keyCode){case 38:case 87:p=1;break;case 37:case 65:t=-1;break;
|
|
|
+case 40:case 83:p=-1;break;case 39:case 68:t=1;break;case 81:m=!0;o=1;break;case 69:m=!0;o=-1;break;case 82:v=1;break;case 70:v=-1}},!1);this.domElement.addEventListener("keyup",function(A){switch(A.keyCode){case 38:case 87:p=0;break;case 37:case 65:t=0;break;case 40:case 83:p=0;break;case 39:case 68:t=0;break;case 81:m=!1;break;case 69:m=!1;break;case 82:v=0;break;case 70:v=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
|
|
|
+THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
|
|
|
THREE.Cube=function(b,d,c,f,g,h,j,k,m){function o(V,A,S,D,Y,J,L,oa){var ja,ra,va=f||1,X=g||1,e=Y/2,na=J/2,za=p.vertices.length;if(V=="x"&&A=="y"||V=="y"&&A=="x")ja="z";else if(V=="x"&&A=="z"||V=="z"&&A=="x"){ja="y";X=h||1}else if(V=="z"&&A=="y"||V=="y"&&A=="z"){ja="x";va=h||1}var wa=va+1,Da=X+1;Y/=va;var ka=J/X;for(ra=0;ra<Da;ra++)for(J=0;J<wa;J++){var ea=new THREE.Vector3;ea[V]=(J*Y-e)*S;ea[A]=(ra*ka-na)*D;ea[ja]=L;p.vertices.push(new THREE.Vertex(ea))}for(ra=0;ra<X;ra++)for(J=0;J<va;J++){p.faces.push(new THREE.Face4(J+
|
|
|
wa*ra+za,J+wa*(ra+1)+za,J+1+wa*(ra+1)+za,J+1+wa*ra+za,null,null,oa));p.faceVertexUvs[0].push([new THREE.UV(J/va,ra/X),new THREE.UV(J/va,(ra+1)/X),new THREE.UV((J+1)/va,(ra+1)/X),new THREE.UV((J+1)/va,ra/X)])}}THREE.Geometry.call(this);var p=this,t=b/2,v=d/2,u=c/2;k=k?-1:1;if(j!==undefined)if(j instanceof Array)this.materials=j;else{this.materials=[];for(var B=0;B<6;B++)this.materials.push([j])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(m!=undefined)for(var F in m)this.sides[F]!=
|
|
|
undefined&&(this.sides[F]=m[F]);this.sides.px&&o("z","y",1*k,-1,c,d,-t,this.materials[0]);this.sides.nx&&o("z","y",-1*k,-1,c,d,t,this.materials[1]);this.sides.py&&o("x","z",1*k,1,b,c,v,this.materials[2]);this.sides.ny&&o("x","z",1*k,-1,b,c,-v,this.materials[3]);this.sides.pz&&o("x","y",1*k,-1,b,d,u,this.materials[4]);this.sides.nz&&o("x","y",-1*k,-1,b,d,-u,this.materials[5]);(function(){for(var V=[],A=[],S=0,D=p.vertices.length;S<D;S++){for(var Y=p.vertices[S],J=!1,L=0,oa=V.length;L<oa;L++){var ja=
|