NanoArmR.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. var NanoArmR = function () {
  2. var scope = this;
  3. THREE.Geometry.call(this);
  4. v( 40.812927, 87.089203, -17.499998 );
  5. v( 40.812927, -17.910797, -17.499998 );
  6. v( 55.812927, 87.089203, -17.499998 );
  7. v( 55.812927, -17.910797, -17.499998 );
  8. v( 55.812927, 87.089203, 17.500002 );
  9. v( 55.812927, -17.910797, 17.500002 );
  10. v( 40.812927, 87.089203, 17.500002 );
  11. v( 40.812927, -17.910797, 17.500002 );
  12. f4( 2, 3, 1, 0, 0.000000, 0.000000, 1.000000 );
  13. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  14. f4( 4, 5, 3, 2, 0.000000, 0.000000, 1.000000 );
  15. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  16. f4( 6, 7, 5, 4, 0.000000, 0.000000, 1.000000 );
  17. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  18. f4( 0, 1, 7, 6, 0.000000, 0.000000, 1.000000 );
  19. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  20. f4( 3, 5, 7, 1, -1.000000, 0.000000, 0.000000 );
  21. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  22. f4( 4, 2, 0, 6, -1.000000, 0.000000, 0.000000 );
  23. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  24. scope.colors = {};
  25. scope.selections = {};
  26. scope.colors["all"] = 0xcac1ba;
  27. scope.selections["all"] = [0, 1, 2, 3, 4, 5];
  28. scope.autoColor = function(){
  29. for(var s in this.selections){
  30. for(var i = 0 ; i < this.selections[s].length; i++) this.faces[this.selections[s][i]].material = [ new THREE.MeshColorFillMaterial( this.colors[s],1) ];
  31. }
  32. }
  33. scope.getPosition = function(){ return new THREE.Vector3(-0.12241363525390625, 89.671585083007812, 33.401443481445312); }
  34. scope.getRotation = function(){ return new THREE.Vector3(0.0, 0.0, 0.0); }
  35. scope.getScale = function(){ return new THREE.Vector3(1.5, 1.5, 1.5); }
  36. function v( x, y, z ) {
  37. scope.vertices.push( new THREE.Vertex( new THREE.Vector3( x, y, z ) ) );
  38. }
  39. function f3( a, b, c, nx, ny, nz ) {
  40. scope.faces.push( new THREE.Face3( a, b, c, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );
  41. }
  42. function f4( a, b, c, d, nx, ny, nz ) {
  43. scope.faces.push( new THREE.Face4( a, b, c, d, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );
  44. }
  45. function uv( u1, v1, u2, v2, u3, v3, u4, v4 ) {
  46. var uv = [];
  47. uv.push( new THREE.UV( u1, v1 ) );
  48. uv.push( new THREE.UV( u2, v2 ) );
  49. uv.push( new THREE.UV( u3, v3 ) );
  50. if ( u4 && v4 ) uv.push( new THREE.UV( u4, v4 ) );
  51. scope.uvs.push( uv );
  52. }
  53. }
  54. NanoArmR.prototype = new THREE.Geometry();
  55. NanoArmR.prototype.constructor = NanoArmR;