Advertisement
Trainlover08

VEX_AI_SIM/robot_controller/include/resetFunctions.cpp

Oct 29th, 2024
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.04 KB | None | 0 0
  1. // (VEX_AI_SIM/robot_controller/include/resetFunctions.cpp)
  2.  
  3. #include "include/libraries.h"
  4.  
  5. #define BLUEZ1 0.0705
  6. #define BLUEZ2 0.094
  7. #define REDZ 0.042
  8. #define YELLOWZ 0.194
  9.  
  10. class Reset{
  11. private:
  12. // id's for red rings #1
  13. void translateRingPosition1(int ID_, const double translate[3]) {
  14. switch (ID_) {
  15. case 1:
  16. translateRedRing1->setSFVec3f(translate);
  17. break;
  18. case 2:
  19. translateRedRing2->setSFVec3f(translate);
  20. break;
  21. case 3:
  22. translateRedRing3->setSFVec3f(translate);
  23. break;
  24. case 4:
  25. translateRedRing4->setSFVec3f(translate);
  26. break;
  27. case 5:
  28. translateRedRing5->setSFVec3f(translate);
  29. break;
  30. case 6:
  31. translateRedRing6->setSFVec3f(translate);
  32. break;
  33. case 7:
  34. translateRedRing7->setSFVec3f(translate);
  35. break;
  36. case 8:
  37. translateRedRing8->setSFVec3f(translate);
  38. break;
  39. case 9:
  40. translateRedRing9->setSFVec3f(translate);
  41. break;
  42. case 10:
  43. translateRedRing10->setSFVec3f(translate);
  44. break;
  45. case 11:
  46. translateRedRing11->setSFVec3f(translate);
  47. break;
  48. case 12:
  49. translateRedRing12->setSFVec3f(translate);
  50. break;
  51. }
  52. }
  53.  
  54. // id's for red rigns #2
  55. void translateRingPosition2(int ID_, const double translate[3]) {
  56. switch (ID_) {
  57. case 13:
  58. translateRedRing13->setSFVec3f(translate);
  59. break;
  60. case 14:
  61. translateRedRing14->setSFVec3f(translate);
  62. break;
  63. case 15:
  64. translateRedRing15->setSFVec3f(translate);
  65. break;
  66. case 16:
  67. translateRedRing16->setSFVec3f(translate);
  68. break;
  69. case 17:
  70. translateRedRing17->setSFVec3f(translate);
  71. break;
  72. case 18:
  73. translateRedRing18->setSFVec3f(translate);
  74. break;
  75. case 19:
  76. translateRedRing19->setSFVec3f(translate);
  77. break;
  78. case 20:
  79. translateRedRing20->setSFVec3f(translate);
  80. break;
  81. case 21:
  82. translateRedRing21->setSFVec3f(translate);
  83. break;
  84. case 22:
  85. translateRedRing22->setSFVec3f(translate);
  86. break;
  87. case 23:
  88. translateRedRing23->setSFVec3f(translate);
  89. break;
  90. }
  91. }
  92.  
  93. // reset the red rings
  94. void specificRed(int ID, float x, float y, float z) {
  95. const double translateRedRing[3] = {x, y, z};
  96. if (ID >= 13) {
  97. translateRingPosition2(ID, translateRedRing);
  98. } else {
  99. translateRingPosition1(ID, translateRedRing);
  100. }
  101. }
  102.  
  103. // reset the blue rings
  104. void specificBlue(int ID, float x, float y, float z) {
  105. const double translateBlueRing[3] = {x, y, z};
  106. switch (ID) {
  107. case 1:
  108. translateBlueRing1->setSFVec3f(translateBlueRing);
  109. break;
  110. case 2:
  111. translateBlueRing2->setSFVec3f(translateBlueRing);
  112. break;
  113. case 3:
  114. translateBlueRing3->setSFVec3f(translateBlueRing);
  115. break;
  116. case 4:
  117. translateBlueRing4->setSFVec3f(translateBlueRing);
  118. break;
  119. case 5:
  120. translateBlueRing5->setSFVec3f(translateBlueRing);
  121. break;
  122. case 6:
  123. translateBlueRing6->setSFVec3f(translateBlueRing);
  124. break;
  125. case 7:
  126. translateBlueRing7->setSFVec3f(translateBlueRing);
  127. break;
  128. case 8:
  129. translateBlueRing8->setSFVec3f(translateBlueRing);
  130. break;
  131. case 9:
  132. translateBlueRing9->setSFVec3f(translateBlueRing);
  133. break;
  134. case 10:
  135. translateBlueRing10->setSFVec3f(translateBlueRing);
  136. break;
  137. }
  138. }
  139.  
  140. // reset the yellow goals
  141. void specificYellow(int ID, float x, float y, float z) {
  142. const double translateGoal[3] = {x, y, z};
  143. switch (ID) {
  144. case 1:
  145. translateGoal1->setSFVec3f(translateGoal);
  146. break;
  147. case 2:
  148. translateGoal2->setSFVec3f(translateGoal);
  149. break;
  150. case 3:
  151. translateGoal3->setSFVec3f(translateGoal);
  152. break;
  153. case 4:
  154. translateGoal4->setSFVec3f(translateGoal);
  155. break;
  156. case 5:
  157. translateGoal5->setSFVec3f(translateGoal);
  158. break;
  159. }
  160. }
  161.  
  162. public:
  163. void resetBot(float x, float y, float z, float x1, float y1, float z1, float rad) {
  164. const double translateBot[3] = {x, y, z};
  165. const double rotateBot[4] = {x1, y1, z1, rad};
  166. translateFieldBot->setSFVec3f(translateBot);
  167. rotateFieldBot->setSFVec3f(rotateBot);
  168. }
  169.  
  170. void resetRed() {
  171. specificRed(1, 0, 0, REDZ);
  172. specificRed(2, -1.2, 0, REDZ);
  173. specificRed(3, -1.2, -0.6, REDZ);
  174. specificRed(4, -0.6, -0.6, REDZ);
  175. specificRed(5, 0.6, -0.6, REDZ);
  176. specificRed(6, 1.2, -0.6, REDZ);
  177. specificRed(7, 1.2, 0, REDZ);
  178. specificRed(8, 1.2, 0.6, REDZ);
  179. specificRed(9, 0.6, 0.6, REDZ);
  180. specificRed(10, -0.6, 0.6, REDZ);
  181. specificRed(11, -1.2, 0.6, REDZ);
  182. specificRed(12, -1.5, 1.2, REDZ);
  183. specificRed(13, -1.2, 1.2, REDZ);
  184. specificRed(14, -1.2, 1.5, REDZ);
  185. specificRed(15, 1.2, 1.5, REDZ);
  186. specificRed(16, 1.2, 1.2, REDZ);
  187. specificRed(17, 1.5, 1.2, REDZ);
  188. specificRed(18, 1.5, -1.2, REDZ);
  189. specificRed(19, 1.2, -1.2, REDZ);
  190. specificRed(20, 1.2, -1.5, REDZ);
  191. specificRed(21, -1.2, -1.5, REDZ);
  192. specificRed(22, -1.2, -1.2, REDZ);
  193. specificRed(23, -1.5, -1.2, REDZ);
  194. }
  195.  
  196. void resetBlue() {
  197. specificBlue(1, 0.6, -1.5, BLUEZ1);
  198. specificBlue(2, -0.6, -1.5, BLUEZ1);
  199. specificBlue(3, -1.2, -1.5, BLUEZ2);
  200. specificBlue(4, -1.2, -1.2, BLUEZ2);
  201. specificBlue(5, -1.5, -1.2, BLUEZ2);
  202. specificBlue(6, -1.69, -1.69, REDZ);
  203. specificBlue(7, 1.69, -1.69, REDZ);
  204. specificBlue(8, 1.5, -1.2, BLUEZ2);
  205. specificBlue(9, 1.2, -1.2, BLUEZ2);
  206. specificBlue(10, 1.2, -1.5, BLUEZ2);
  207. }
  208.  
  209. void resetYellow() {
  210. specificYellow(1, 0, -1.18, YELLOWZ);
  211. specificYellow(2, 0.6, -1.49, YELLOWZ);
  212. specificYellow(3, 0.6, 1.18, YELLOWZ);
  213. specificYellow(4, -0.6, 1.18, YELLOWZ);
  214. specificYellow(5, -0.6, -1.49, YELLOWZ);
  215. }
  216. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement