BotArmL.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. var BotArmL = function () {
  2. var scope = this;
  3. THREE.Geometry.call(this);
  4. v( 92.491638, 127.223816, -37.000000 );
  5. v( 92.491638, 21.679474, -37.000000 );
  6. v( 138.491638, 127.223816, -37.000000 );
  7. v( 138.491638, 21.679474, -37.000000 );
  8. v( 138.491638, 127.223816, 37.000000 );
  9. v( 138.491638, 21.679474, 37.000000 );
  10. v( 92.491638, 127.223816, 37.000000 );
  11. v( 92.491638, 21.679474, 37.000000 );
  12. v( 92.491638, 192.692810, -37.000000 );
  13. v( 138.491638, 192.692810, -37.000000 );
  14. v( 138.491638, 192.692810, 37.000000 );
  15. v( 92.491638, 192.692810, 37.000000 );
  16. v( 138.491638, 192.692810, 26.723249 );
  17. v( 138.491638, 127.223816, 26.723249 );
  18. v( 150.491623, 204.761200, -26.723249 );
  19. v( 138.491638, 192.692810, -26.723249 );
  20. v( 111.229446, 192.692810, 26.723249 );
  21. v( 111.229446, 192.692810, -26.723249 );
  22. v( 150.491623, 36.327454, -26.825705 );
  23. v( 138.491638, 127.223816, -26.723249 );
  24. v( 150.491623, 204.761200, 26.723249 );
  25. v( 111.229446, 204.761200, 26.723249 );
  26. v( 150.491623, 36.327454, 26.825705 );
  27. v( 138.491638, 36.327454, -26.825705 );
  28. v( 138.491638, 36.327454, 26.825705 );
  29. v( 111.229446, 204.761200, -26.723249 );
  30. v( 92.441467, 21.679474, -26.500002 );
  31. v( 123.675186, 21.679474, -26.500002 );
  32. v( 123.675186, 21.679474, 26.500002 );
  33. v( 92.441467, 21.679474, 26.500002 );
  34. v( 92.441467, -36.918777, -26.500002 );
  35. v( 123.675186, -6.918777, -26.500002 );
  36. v( 123.675186, -6.918777, 26.500002 );
  37. v( 92.441467, -36.918777, 26.500002 );
  38. f4( 2, 3, 1, 0, 0.000000, 0.000000, 1.000000 );
  39. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  40. f4( 11, 6, 11, 6, 0.000000, 0.000000, 1.000000 );
  41. uv( 0.000000, 1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 1.000000, 1.000000);
  42. f4( 6, 7, 5, 4, 0.000000, 0.000000, 1.000000 );
  43. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  44. f4( 0, 1, 7, 6, 0.000000, 0.000000, 1.000000 );
  45. uv( 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000);
  46. f4( 31, 32, 33, 30, 0.000000, 0.000000, 0.000000 );
  47. uv( 0.834036, 0.834036, 0.834036, 0.165964, 0.165964, 0.165964, 0.165964, 0.834036);
  48. f4( 2, 19, 23, 3, 0.000000, 0.000000, 0.000000 );
  49. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  50. f4( 4, 10, 11, 6, 0.000000, 0.000000, 0.000000 );
  51. uv( 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 1.000000);
  52. f4( 12, 10, 4, 13, 0.000000, 0.000000, 0.000000 );
  53. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  54. f4( 0, 8, 9, 2, 0.000000, 0.000000, -1.000000 );
  55. uv( 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 0.000000);
  56. f4( 6, 11, 8, 0, 0.000000, 0.000000, -1.000000 );
  57. uv( 0.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000);
  58. f4( 9, 15, 19, 2, 0.000000, 0.000000, -1.000000 );
  59. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  60. f4( 13, 4, 5, 24, 0.000000, 0.000000, -1.000000 );
  61. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  62. f4( 25, 21, 20, 14, 1.000000, 0.000000, 0.000000 );
  63. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  64. f4( 17, 8, 11, 16, 1.000000, 0.000000, 0.000000 );
  65. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  66. f4( 21, 16, 12, 20, 1.000000, 0.000000, 0.000000 );
  67. uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
  68. f4( 8, 17, 15, 9, 1.000000, 0.000000, 0.000000 );
  69. uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
  70. f4( 14, 20, 22, 18, -0.919978, -0.391970, 0.000000 );
  71. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  72. f4( 23, 18, 22, 24, -0.919978, -0.391970, 0.000000 );
  73. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  74. f4( 16, 21, 25, 17, -0.692720, -0.721207, 0.000000 );
  75. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  76. f4( 12, 24, 22, 20, -0.692720, -0.721207, 0.000000 );
  77. uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
  78. f4( 12, 16, 11, 10, -1.000000, 0.000000, 0.000000 );
  79. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  80. f4( 23, 24, 5, 3, -1.000000, 0.000000, 0.000000 );
  81. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  82. f4( 14, 15, 17, 25, -1.000000, 0.000000, 0.000000 );
  83. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  84. f4( 15, 14, 18, 23, -1.000000, 0.000000, 0.000000 );
  85. uv( 0.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.000000, 0.000000, 0.000000);
  86. f4( 3, 27, 26, 1, 0.000000, 0.000000, -1.000000 );
  87. uv( 1.000000, 1.000000, 0.834036, 0.834036, 0.165964, 0.834036, 0.000000, 1.000000);
  88. f4( 5, 28, 27, 3, 0.000000, 0.000000, -1.000000 );
  89. uv( 1.000000, 0.000000, 0.834036, 0.165964, 0.834036, 0.834036, 1.000000, 1.000000);
  90. f4( 7, 29, 28, 5, 0.000000, 0.000000, -1.000000 );
  91. uv( 0.000000, 0.000000, 0.165964, 0.165964, 0.834036, 0.165964, 1.000000, 0.000000);
  92. f4( 1, 26, 29, 7, 0.000000, 0.000000, -1.000000 );
  93. uv( 0.000000, 1.000000, 0.165964, 0.834036, 0.165964, 0.165964, 0.000000, 0.000000);
  94. f4( 27, 31, 30, 26, -1.000000, 0.000000, 0.000000 );
  95. uv( 0.834036, 0.834036, 0.834036, 0.834036, 0.165964, 0.834036, 0.165964, 0.834036);
  96. f4( 28, 32, 31, 27, -1.000000, 0.000000, 0.000000 );
  97. uv( 0.834036, 0.165964, 0.834036, 0.165964, 0.834036, 0.834036, 0.834036, 0.834036);
  98. f4( 29, 33, 32, 28, -1.000000, 0.000000, 0.000000 );
  99. uv( 0.165964, 0.165964, 0.165964, 0.165964, 0.834036, 0.165964, 0.834036, 0.165964);
  100. f4( 26, 30, 33, 29, -1.000000, 0.000000, 0.000000 );
  101. uv( 0.165964, 0.834036, 0.165964, 0.834036, 0.165964, 0.165964, 0.165964, 0.165964);
  102. this.computeCentroids();
  103. this.computeNormals(true);
  104. scope.colors = {};
  105. scope.selections = {};
  106. scope.selections["c1"] = [1, 12, 14, 16, 17, 18, 19, 22, 23, 27];
  107. scope.selections["c2"] = [0, 2, 3, 4, 5, 11, 21, 24, 25, 26, 28, 29, 30, 31];
  108. scope.selections["c3"] = [6, 7, 8, 9, 10, 13, 15, 20];
  109. scope.colors["c2"] = 0x028fd4;
  110. scope.colors["c3"] = 0xe0dc0a;
  111. scope.colors["c1"] = 0x000000;
  112. scope.autoColor = function(){
  113. for(var s in this.selections){
  114. for(var i = 0 ; i < this.selections[s].length; i++) this.faces[this.selections[s][i]].material = [new THREE.MeshBasicMaterial({color:this.colors[s]})];
  115. }
  116. }
  117. scope.getPosition = function(){ return new THREE.Vector3(0.00138092041015625, -167.945556640625, 33.943828582763672); }
  118. scope.getRotation = function(){ return new THREE.Vector3(0.0, 0.0, 0.0); }
  119. scope.getScale = function(){ return new THREE.Vector3(0.5, 0.5, 0.5); }
  120. function v( x, y, z ) {
  121. scope.vertices.push( new THREE.Vertex( new THREE.Vector3( x, y, z ) ) );
  122. }
  123. function f3( a, b, c, nx, ny, nz ) {
  124. scope.faces.push( new THREE.Face3( a, b, c, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );
  125. }
  126. function f4( a, b, c, d, nx, ny, nz ) {
  127. scope.faces.push( new THREE.Face4( a, b, c, d, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );
  128. }
  129. function uv( u1, v1, u2, v2, u3, v3, u4, v4 ) {
  130. var uv = [];
  131. uv.push( new THREE.UV( u1, v1 ) );
  132. uv.push( new THREE.UV( u2, v2 ) );
  133. uv.push( new THREE.UV( u3, v3 ) );
  134. if ( u4 && v4 ) uv.push( new THREE.UV( u4, v4 ) );
  135. scope.uvs.push( uv );
  136. }
  137. }
  138. BotArmL.prototype = new THREE.Geometry();
  139. BotArmL.prototype.constructor = BotArmL;