BotArmR.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. var BotArmR = function () {
  2. var scope = this;
  3. THREE.Geometry.call(this);
  4. v( -91.270126, 69.073563, -37.000000 );
  5. v( -91.270126, 23.073559, -37.000000 );
  6. v( -137.270111, 69.073563, -37.000000 );
  7. v( -137.270111, 23.073559, -37.000000 );
  8. v( -137.270111, 69.073563, 37.000000 );
  9. v( -137.270111, 23.073559, 37.000000 );
  10. v( -91.270126, 69.073563, 37.000000 );
  11. v( -91.270126, 23.073559, 37.000000 );
  12. v( -137.270111, 69.073563, 8.448944 );
  13. v( -91.270126, 69.073563, 8.448944 );
  14. v( -91.270126, 191.377396, -37.000000 );
  15. v( -137.270111, 191.377396, -37.000000 );
  16. v( -137.270111, 191.377396, 8.448944 );
  17. v( -91.270126, 191.377396, 8.448944 );
  18. v( -122.331985, 69.073563, 31.323776 );
  19. v( -104.416565, 69.073563, 31.323776 );
  20. v( -122.331985, 69.073563, 13.050186 );
  21. v( -104.416565, 69.073563, 13.050186 );
  22. v( -122.331985, 139.273560, 31.323776 );
  23. v( -104.416565, 139.273560, 31.323776 );
  24. v( -122.331985, 139.273560, 13.050186 );
  25. v( -104.416565, 139.273560, 13.050186 );
  26. v( -122.331985, 147.773560, 31.323776 );
  27. v( -104.416565, 147.773560, 31.323776 );
  28. v( -122.331985, 147.773560, 13.050186 );
  29. v( -104.416565, 147.773560, 13.050186 );
  30. v( -122.331985, 157.473557, 31.323776 );
  31. v( -104.416565, 157.473557, 31.323776 );
  32. v( -122.331985, 157.473557, 13.050186 );
  33. v( -104.416565, 157.473557, 13.050186 );
  34. v( -122.331985, 201.373550, 31.323776 );
  35. v( -104.416565, 201.373550, 31.323776 );
  36. v( -122.331985, 201.373550, 13.050186 );
  37. v( -104.416565, 201.373550, 13.050186 );
  38. v( -91.401825, 23.073559, -26.612669 );
  39. v( -122.325165, 23.073559, -26.612669 );
  40. v( -122.325165, 23.073559, 26.612663 );
  41. v( -91.401825, 23.073559, 26.612663 );
  42. v( -91.401825, -36.826431, -26.612669 );
  43. v( -122.325165, -6.826431, -26.612669 );
  44. v( -122.325165, -6.826431, 26.612663 );
  45. v( -91.401825, -36.826431, 26.612663 );
  46. f4( 1, 3, 2, 0, 0.000000, 0.000000, 1.000000 );
  47. uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
  48. f4( 3, 5, 8, 2, 0.000000, 0.000000, 1.000000 );
  49. uv( 0.000000, 0.000000, 1.000000, 0.000000, 0.500000, 1.000000, 0.000000, 1.000000);
  50. f4( 5, 7, 6, 4, 0.000000, 0.000000, 1.000000 );
  51. uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000);
  52. f4( 9, 7, 1, 0, 0.000000, 0.000000, 1.000000 );
  53. uv( 0.500000, 1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 1.000000);
  54. f4( 41, 40, 39, 38, 1.000000, 0.000000, 0.000000 );
  55. uv( 0.140674, 0.140674, 0.859326, 0.140674, 0.859326, 0.859326, 0.140674, 0.859326);
  56. f4( 10, 11, 12, 13, 1.000000, 0.000000, 0.000000 );
  57. uv( 0.000000, 0.000000, 1.000000, 0.000000, 1.000000, 0.500000, 0.000000, 0.500000);
  58. f3( 5, 4, 8, 1.000000, 0.000000, 0.000000 );
  59. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.500000, 1.000000);
  60. f3( 7, 9, 6, 1.000000, 0.000000, 0.000000 );
  61. uv( 0.000000, 0.000000, 0.500000, 1.000000, 0.000000, 1.000000);
  62. f4( 30, 31, 33, 32, 0.000000, 0.000000, -1.000000 );
  63. uv( 0.809245, 0.904623, 0.190755, 0.904623, 0.190755, 0.595377, 0.809245, 0.595377);
  64. f4( 13, 12, 8, 9, 0.000000, 0.000000, -1.000000 );
  65. uv( 0.000000, 0.500000, 1.000000, 0.500000, 1.000000, 0.500000, 0.000000, 0.500000);
  66. f4( 12, 11, 2, 8, 0.000000, 0.000000, -1.000000 );
  67. uv( 1.000000, 0.500000, 1.000000, 0.000000, 1.000000, 0.000000, 1.000000, 0.500000);
  68. f4( 11, 10, 0, 2, 0.000000, 0.000000, -1.000000 );
  69. uv( 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000);
  70. f4( 10, 13, 9, 0, -1.000000, 0.000000, 0.000000 );
  71. uv( 0.000000, 0.000000, 0.000000, 0.500000, 0.000000, 0.500000, 0.000000, 0.000000);
  72. f4( 16, 17, 9, 8, -1.000000, 0.000000, 0.000000 );
  73. uv( 0.500000, 1.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.500000, 1.000000);
  74. f4( 17, 15, 6, 9, -1.000000, 0.000000, 0.000000 );
  75. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  76. f4( 15, 14, 4, 6, -1.000000, 0.000000, 0.000000 );
  77. uv( 1.000000, 0.000000, 0.924485, 0.924485, 1.000000, 1.000000, 0.000000, 0.000000);
  78. f4( 14, 16, 8, 4, 0.696310, -0.717741, 0.000000 );
  79. uv( 0.924485, 0.924485, 0.500000, 1.000000, 0.500000, 1.000000, 1.000000, 1.000000);
  80. f4( 20, 21, 17, 16, 0.920953, -0.389673, 0.000000 );
  81. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  82. f4( 21, 19, 15, 17, 0.920953, -0.389673, 0.000000 );
  83. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  84. f4( 19, 18, 14, 15, 0.696310, -0.717741, 0.000000 );
  85. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  86. f4( 18, 20, 16, 14, 0.000000, 1.000000, 0.000000 );
  87. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  88. f4( 24, 25, 21, 20, 0.000000, 1.000000, 0.000000 );
  89. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  90. f4( 25, 23, 19, 21, 0.000000, 1.000000, 0.000000 );
  91. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  92. f4( 23, 22, 18, 19, 0.000000, 1.000000, 0.000000 );
  93. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  94. f4( 22, 24, 20, 18, 1.000000, 0.000000, 0.000000 );
  95. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  96. f4( 28, 29, 25, 24, 1.000000, 0.000000, 0.000000 );
  97. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  98. f4( 29, 27, 23, 25, 1.000000, 0.000000, 0.000000 );
  99. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  100. f4( 27, 26, 22, 23, 0.000000, 0.000000, 0.000000 );
  101. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  102. f4( 26, 28, 24, 22, -1.000000, 0.000000, 0.000000 );
  103. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  104. f4( 32, 33, 29, 28, -1.000000, 0.000000, 0.000000 );
  105. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  106. f4( 33, 31, 27, 29, -1.000000, -0.000000, 0.000000 );
  107. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  108. f4( 31, 30, 26, 27, 0.000000, 0.000000, 0.000000 );
  109. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  110. f4( 30, 32, 28, 26, 0.000000, 1.000000, 0.000000 );
  111. uv( 1.000000, 0.000000, 1.000000, 1.000000, 0.000000, 1.000000, 0.000000, 0.000000);
  112. f4( 34, 35, 3, 1, 0.000000, 1.000000, 0.000000 );
  113. uv( 0.140674, 0.859326, 0.859326, 0.859326, 1.000000, 1.000000, 0.000000, 1.000000);
  114. f4( 35, 36, 5, 3, 0.000000, 1.000000, 0.000000 );
  115. uv( 0.859326, 0.859326, 0.859326, 0.140674, 1.000000, 0.000000, 1.000000, 1.000000);
  116. f4( 36, 37, 7, 5, 0.000000, 1.000000, 0.000000 );
  117. uv( 0.859326, 0.140674, 0.140674, 0.140674, 0.000000, 0.000000, 1.000000, 0.000000);
  118. f4( 37, 34, 1, 7, 0.000000, 0.000000, -1.000000 );
  119. uv( 0.140674, 0.140674, 0.140674, 0.859326, 0.000000, 1.000000, 0.000000, 0.000000);
  120. f4( 38, 39, 35, 34, 0.000000, 0.000000, -1.000000 );
  121. uv( 0.140674, 0.859326, 0.859326, 0.859326, 0.859326, 0.859326, 0.140674, 0.859326);
  122. f4( 39, 40, 36, 35, 0.000000, 0.000000, -1.000000 );
  123. uv( 0.859326, 0.859326, 0.859326, 0.140674, 0.859326, 0.140674, 0.859326, 0.859326);
  124. f4( 40, 41, 37, 36, 0.000000, 0.000000, -1.000000 );
  125. uv( 0.859326, 0.140674, 0.140674, 0.140674, 0.140674, 0.140674, 0.859326, 0.140674);
  126. f4( 41, 38, 34, 37, 1.000000, 0.000000, 0.000000 );
  127. uv( 0.140674, 0.140674, 0.140674, 0.859326, 0.140674, 0.859326, 0.140674, 0.140674);
  128. scope.colors = {};
  129. scope.selections = {};
  130. scope.selections["c1"] = [8, 29, 30, 31, 32];
  131. scope.selections["c2"] = [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 25, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40];
  132. scope.selections["c3"] = [17, 18, 19, 20];
  133. scope.selections["c4"] = [21, 22, 23, 24];
  134. scope.colors["c1"] = 0x000000;
  135. scope.colors["c2"] = 0x028fd4;
  136. scope.colors["c4"] = 0xed3537;
  137. scope.colors["c3"] = 0xe0dc0a;
  138. scope.autoColor = function(){
  139. for(var s in this.selections){
  140. for(var i = 0 ; i < this.selections[s].length; i++) this.faces[this.selections[s][i]].material = [ new THREE.MeshColorFillMaterial( this.colors[s],1) ];
  141. }
  142. }
  143. scope.getPosition = function(){ return new THREE.Vector3(-0.28577423095703125, -168.17227172851562, 33.943828582763672); }
  144. scope.getRotation = function(){ return new THREE.Vector3(0.0, 0.0, 0.0); }
  145. scope.getScale = function(){ return new THREE.Vector3(0.5, 0.5, 0.5); }
  146. function v( x, y, z ) {
  147. scope.vertices.push( new THREE.Vertex( new THREE.Vector3( x, y, z ) ) );
  148. }
  149. function f3( a, b, c, nx, ny, nz ) {
  150. scope.faces.push( new THREE.Face3( a, b, c, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );
  151. }
  152. function f4( a, b, c, d, nx, ny, nz ) {
  153. scope.faces.push( new THREE.Face4( a, b, c, d, nx && ny && nz ? new THREE.Vector3( nx, ny, nz ) : null ) );
  154. }
  155. function uv( u1, v1, u2, v2, u3, v3, u4, v4 ) {
  156. var uv = [];
  157. uv.push( new THREE.UV( u1, v1 ) );
  158. uv.push( new THREE.UV( u2, v2 ) );
  159. uv.push( new THREE.UV( u3, v3 ) );
  160. if ( u4 && v4 ) uv.push( new THREE.UV( u4, v4 ) );
  161. scope.uvs.push( uv );
  162. }
  163. }
  164. BotArmR.prototype = new THREE.Geometry();
  165. BotArmR.prototype.constructor = BotArmR;