TorusMesh.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921
  1. #ifndef TORUS_MESH_H_
  2. #define TORUS_MESH_H_
  3. //*************************** NOT REALLY FAMOUS TORUS ********************************************//
  4. #define Real btScalar
  5. const int NUM_TRIANGLES =600;
  6. const int NUM_VERTICES = 300;
  7. const int NUM_INDICES = NUM_TRIANGLES * 3;
  8. static Real gVertices[NUM_VERTICES * 3] = {
  9. Real(2.5), Real(0), Real(0),
  10. Real(2.405), Real(0.294), Real(0),
  11. Real(2.155), Real(0.476), Real(0),
  12. Real(1.845), Real(0.476), Real(0),
  13. Real(1.595), Real(0.294), Real(0),
  14. Real(1.5), Real(0 ), Real(0),
  15. Real(1.595), Real(-0.294), Real(0),
  16. Real(1.845), Real(-0.476), Real(0),
  17. Real(2.155), Real(-0.476), Real(0),
  18. Real(2.405), Real(-0.294), Real(0),
  19. Real(2.445), Real(0 ), Real(0.52 ),
  20. Real(2.352), Real(0.294), Real(0.5 ),
  21. Real(2.107), Real(0.476), Real(0.448),
  22. Real(1.805), Real(0.476), Real(0.384),
  23. Real(1.561), Real(0.294), Real(0.332),
  24. Real(1.467), Real(0 ), Real(0.312),
  25. Real(1.561), Real(-0.294), Real(0.332),
  26. Real(1.805), Real(-0.476), Real(0.384),
  27. Real(2.107), Real(-0.476), Real(0.448),
  28. Real(2.352), Real(-0.294), Real(0.5 ),
  29. Real(2.284), Real(0), Real(1.017),
  30. Real(2.197), Real(0.294), Real(0.978),
  31. Real(1.968), Real(0.476), Real(0.876),
  32. Real(1.686), Real(0.476), Real(0.751),
  33. Real(1.458), Real(0.294), Real(0.649),
  34. Real(1.37), Real(0), Real(0.61 ),
  35. Real(1.458), Real(-0.294), Real(0.649),
  36. Real(1.686), Real(-0.476), Real(0.751),
  37. Real(1.968), Real(-0.476), Real(0.876),
  38. Real(2.197), Real(-0.294), Real(0.978),
  39. Real(2.023), Real(0), Real(1.469),
  40. Real(1.945), Real(0.294), Real(1.413),
  41. Real(1.743), Real(0.476), Real(1.266),
  42. Real(1.493), Real(0.476), Real(1.085),
  43. Real(1.291), Real(0.294), Real(0.938),
  44. Real(1.214), Real(0), Real(0.882),
  45. Real(1.291), Real(-0.294), Real(0.938),
  46. Real(1.493), Real(-0.476), Real(1.085),
  47. Real(1.743), Real(-0.476), Real(1.266),
  48. Real(1.945), Real(-0.294), Real(1.413),
  49. Real(1.673), Real(0), Real(1.858),
  50. Real(1.609), Real(0.294), Real(1.787),
  51. Real(1.442), Real(0.476), Real(1.601),
  52. Real(1.235), Real(0.476), Real(1.371),
  53. Real(1.068), Real(0.294), Real(1.186),
  54. Real(1.004), Real(0), Real(1.115),
  55. Real(1.068), Real(-0.294), Real(1.186),
  56. Real(1.235), Real(-0.476), Real(1.371),
  57. Real(1.442), Real(-0.476), Real(1.601),
  58. Real(1.609), Real(-0.294), Real(1.787),
  59. Real(1.25), Real(0), Real(2.165),
  60. Real(1.202), Real(0.294), Real(2.082),
  61. Real(1.077), Real(0.476), Real(1.866),
  62. Real(0.923), Real(0.476), Real(1.598),
  63. Real(0.798), Real(0.294), Real(1.382),
  64. Real(0.75), Real(0), Real(1.299),
  65. Real(0.798), Real(-0.294), Real(1.382),
  66. Real(0.923), Real(-0.476), Real(1.598),
  67. Real(1.077), Real(-0.476), Real(1.866),
  68. Real(1.202), Real(-0.294), Real(2.082),
  69. Real(0.773), Real(0), Real(2.378),
  70. Real(0.743), Real(0.294), Real(2.287),
  71. Real(0.666), Real(0.476), Real(2.049),
  72. Real(0.57), Real(0.476), Real(1.755),
  73. Real(0.493), Real(0.294), Real(1.517),
  74. Real(0.464), Real(0), Real(1.427),
  75. Real(0.493), Real(-0.294), Real(1.517),
  76. Real(0.57), Real(-0.476), Real(1.755),
  77. Real(0.666), Real(-0.476), Real(2.049),
  78. Real(0.743), Real(-0.294), Real(2.287),
  79. Real(0.261), Real(0), Real(2.486),
  80. Real(0.251), Real(0.294), Real(2.391),
  81. Real(0.225), Real(0.476), Real(2.143),
  82. Real(0.193), Real(0.476), Real(1.835),
  83. Real(0.167), Real(0.294), Real(1.587),
  84. Real(0.157), Real(0), Real(1.492),
  85. Real(0.167), Real(-0.294), Real(1.587),
  86. Real(0.193), Real(-0.476), Real(1.835),
  87. Real(0.225), Real(-0.476), Real(2.143),
  88. Real(0.251), Real(-0.294), Real(2.391),
  89. Real(-0.261), Real(0), Real(2.486),
  90. Real(-0.251), Real(0.294), Real(2.391),
  91. Real(-0.225), Real(0.476), Real(2.143),
  92. Real(-0.193), Real(0.476), Real(1.835),
  93. Real(-0.167), Real(0.294), Real(1.587),
  94. Real(-0.157), Real(0), Real(1.492),
  95. Real(-0.167), Real(-0.294), Real(1.587),
  96. Real(-0.193), Real(-0.476), Real(1.835),
  97. Real(-0.225), Real(-0.476), Real(2.143),
  98. Real(-0.251), Real(-0.294), Real(2.391),
  99. Real(-0.773), Real(0), Real(2.378),
  100. Real(-0.743), Real(0.294), Real(2.287),
  101. Real(-0.666), Real(0.476), Real(2.049),
  102. Real(-0.57), Real(0.476), Real(1.755),
  103. Real(-0.493), Real(0.294), Real(1.517),
  104. Real(-0.464), Real(0), Real(1.427),
  105. Real(-0.493), Real(-0.294), Real(1.517),
  106. Real(-0.57), Real(-0.476), Real(1.755),
  107. Real(-0.666), Real(-0.476), Real(2.049),
  108. Real(-0.743), Real(-0.294), Real(2.287),
  109. Real(-1.25 ), Real(0), Real(2.165),
  110. Real(-1.202), Real(0.294), Real(2.082),
  111. Real(-1.077), Real(0.476), Real(1.866),
  112. Real(-0.923), Real(0.476), Real(1.598),
  113. Real(-0.798), Real(0.294), Real(1.382),
  114. Real(-0.75), Real(0), Real(1.299),
  115. Real(-0.798), Real(-0.294), Real(1.382),
  116. Real(-0.923), Real(-0.476), Real(1.598),
  117. Real(-1.077), Real(-0.476), Real(1.866),
  118. Real(-1.202), Real(-0.294), Real(2.082),
  119. Real(-1.673), Real(0), Real(1.858),
  120. Real(-1.609), Real(0.294), Real(1.787),
  121. Real(-1.442), Real(0.476), Real(1.601),
  122. Real(-1.235), Real(0.476), Real(1.371),
  123. Real(-1.068), Real(0.294), Real(1.186),
  124. Real(-1.004), Real(0), Real(1.115),
  125. Real(-1.068), Real(-0.294), Real(1.186),
  126. Real(-1.235), Real(-0.476), Real(1.371),
  127. Real(-1.442), Real(-0.476), Real(1.601),
  128. Real(-1.609), Real(-0.294), Real(1.787),
  129. Real(-2.023), Real(0), Real(1.469),
  130. Real(-1.945), Real(0.294), Real(1.413),
  131. Real(-1.743), Real(0.476), Real(1.266),
  132. Real(-1.493), Real(0.476), Real(1.085),
  133. Real(-1.291), Real(0.294), Real(0.938),
  134. Real(-1.214), Real(0), Real(0.882),
  135. Real(-1.291), Real(-0.294), Real(0.938),
  136. Real(-1.493), Real(-0.476), Real(1.085),
  137. Real(-1.743), Real(-0.476), Real(1.266),
  138. Real(-1.945), Real(-0.294), Real(1.413),
  139. Real(-2.284), Real(0), Real(1.017),
  140. Real(-2.197), Real(0.294), Real(0.978),
  141. Real(-1.968), Real(0.476), Real(0.876),
  142. Real(-1.686), Real(0.476), Real(0.751),
  143. Real(-1.458), Real(0.294), Real(0.649),
  144. Real(-1.37), Real(0), Real(0.61 ),
  145. Real(-1.458), Real(-0.294), Real(0.649),
  146. Real(-1.686), Real(-0.476), Real(0.751),
  147. Real(-1.968), Real(-0.476), Real(0.876),
  148. Real(-2.197), Real(-0.294), Real(0.978),
  149. Real(-2.445), Real(0), Real(0.52),
  150. Real(-2.352), Real(0.294), Real(0.5),
  151. Real(-2.107), Real(0.476), Real(0.448),
  152. Real(-1.805), Real(0.476), Real(0.384),
  153. Real(-1.561), Real(0.294), Real(0.332),
  154. Real(-1.467), Real(0), Real(0.312),
  155. Real(-1.561), Real(-0.294), Real(0.332),
  156. Real(-1.805), Real(-0.476), Real(0.384),
  157. Real(-2.107), Real(-0.476), Real(0.448),
  158. Real(-2.352), Real(-0.294), Real(0.5),
  159. Real(-2.5 ), Real(0), Real(0),
  160. Real(-2.405), Real(0.294), Real(0),
  161. Real(-2.155), Real(0.476), Real(0),
  162. Real(-1.845), Real(0.476), Real(0),
  163. Real(-1.595), Real(0.294), Real(0),
  164. Real(-1.5), Real(0), Real(0),
  165. Real(-1.595), Real(-0.294), Real(0),
  166. Real(-1.845), Real(-0.476), Real(0),
  167. Real(-2.155), Real(-0.476), Real(0),
  168. Real(-2.405), Real(-0.294), Real(0),
  169. Real(-2.445), Real(0), Real(-0.52),
  170. Real(-2.352), Real(0.294), Real(-0.5),
  171. Real(-2.107), Real(0.476), Real(-0.448),
  172. Real(-1.805), Real(0.476), Real(-0.384),
  173. Real(-1.561), Real(0.294), Real(-0.332),
  174. Real(-1.467), Real(0), Real(-0.312),
  175. Real(-1.561), Real(-0.294), Real(-0.332),
  176. Real(-1.805), Real(-0.476), Real(-0.384),
  177. Real(-2.107), Real(-0.476), Real(-0.448),
  178. Real(-2.352), Real(-0.294), Real(-0.5),
  179. Real(-2.284), Real(0), Real(-1.017),
  180. Real(-2.197), Real(0.294), Real(-0.978),
  181. Real(-1.968), Real(0.476), Real(-0.876),
  182. Real(-1.686), Real(0.476), Real(-0.751),
  183. Real(-1.458), Real(0.294), Real(-0.649),
  184. Real(-1.37), Real(0), Real(-0.61),
  185. Real(-1.458), Real(-0.294), Real(-0.649),
  186. Real(-1.686), Real(-0.476), Real(-0.751),
  187. Real(-1.968), Real(-0.476), Real(-0.876),
  188. Real(-2.197), Real(-0.294), Real(-0.978),
  189. Real(-2.023), Real(0), Real(-1.469),
  190. Real(-1.945), Real(0.294), Real(-1.413),
  191. Real(-1.743), Real(0.476), Real(-1.266),
  192. Real(-1.493), Real(0.476), Real(-1.085),
  193. Real(-1.291), Real(0.294), Real(-0.938),
  194. Real(-1.214), Real(0), Real(-0.882),
  195. Real(-1.291), Real(-0.294), Real(-0.938),
  196. Real(-1.493), Real(-0.476), Real(-1.085),
  197. Real(-1.743), Real(-0.476), Real(-1.266),
  198. Real(-1.945), Real(-0.294), Real(-1.413),
  199. Real(-1.673), Real(0), Real(-1.858),
  200. Real(-1.609), Real(0.294), Real(-1.787),
  201. Real(-1.442), Real(0.476), Real(-1.601),
  202. Real(-1.235), Real(0.476), Real(-1.371),
  203. Real(-1.068), Real(0.294), Real(-1.186),
  204. Real(-1.004), Real(0), Real(-1.115),
  205. Real(-1.068), Real(-0.294), Real(-1.186),
  206. Real(-1.235), Real(-0.476), Real(-1.371),
  207. Real(-1.442), Real(-0.476), Real(-1.601),
  208. Real(-1.609), Real(-0.294), Real(-1.787),
  209. Real(-1.25 ), Real(0), Real(-2.165),
  210. Real(-1.202), Real(0.294), Real(-2.082),
  211. Real(-1.077), Real(0.476), Real(-1.866),
  212. Real(-0.923), Real(0.476), Real(-1.598),
  213. Real(-0.798), Real(0.294), Real(-1.382),
  214. Real(-0.75), Real(0), Real(-1.299),
  215. Real(-0.798), Real(-0.294), Real(-1.382),
  216. Real(-0.923), Real(-0.476), Real(-1.598),
  217. Real(-1.077), Real(-0.476), Real(-1.866),
  218. Real(-1.202), Real(-0.294), Real(-2.082),
  219. Real(-0.773), Real(0), Real(-2.378),
  220. Real(-0.743), Real(0.294), Real(-2.287),
  221. Real(-0.666), Real(0.476), Real(-2.049),
  222. Real(-0.57), Real(0.476), Real(-1.755),
  223. Real(-0.493), Real(0.294), Real(-1.517),
  224. Real(-0.464), Real(0), Real(-1.427),
  225. Real(-0.493), Real(-0.294), Real(-1.517),
  226. Real(-0.57), Real(-0.476), Real(-1.755),
  227. Real(-0.666), Real(-0.476), Real(-2.049),
  228. Real(-0.743), Real(-0.294), Real(-2.287),
  229. Real(-0.261), Real(0), Real(-2.486),
  230. Real(-0.251), Real(0.294), Real(-2.391),
  231. Real(-0.225), Real(0.476), Real(-2.143),
  232. Real(-0.193), Real(0.476), Real(-1.835),
  233. Real(-0.167), Real(0.294), Real(-1.587),
  234. Real(-0.157), Real(0), Real(-1.492),
  235. Real(-0.167), Real(-0.294), Real(-1.587),
  236. Real(-0.193), Real(-0.476), Real(-1.835),
  237. Real(-0.225), Real(-0.476), Real(-2.143),
  238. Real(-0.251), Real(-0.294), Real(-2.391),
  239. Real(0.261), Real(0), Real(-2.486),
  240. Real(0.251), Real(0.294), Real(-2.391),
  241. Real(0.225), Real(0.476), Real(-2.143),
  242. Real(0.193), Real(0.476), Real(-1.835),
  243. Real(0.167), Real(0.294), Real(-1.587),
  244. Real(0.157), Real(0), Real(-1.492),
  245. Real(0.167), Real(-0.294), Real(-1.587),
  246. Real(0.193), Real(-0.476), Real(-1.835),
  247. Real(0.225), Real(-0.476), Real(-2.143),
  248. Real(0.251), Real(-0.294), Real(-2.391),
  249. Real(0.773), Real(0), Real(-2.378),
  250. Real(0.743), Real(0.294), Real(-2.287),
  251. Real(0.666), Real(0.476), Real(-2.049),
  252. Real(0.57), Real(0.476), Real(-1.755),
  253. Real(0.493), Real(0.294), Real(-1.517),
  254. Real(0.464), Real(0), Real(-1.427),
  255. Real(0.493), Real(-0.294), Real(-1.517),
  256. Real(0.57), Real(-0.476), Real(-1.755),
  257. Real(0.666), Real(-0.476), Real(-2.049),
  258. Real(0.743), Real(-0.294), Real(-2.287),
  259. Real(1.25), Real(0), Real(-2.165),
  260. Real(1.202), Real(0.294), Real(-2.082),
  261. Real(1.077), Real(0.476), Real(-1.866),
  262. Real(0.923), Real(0.476), Real(-1.598),
  263. Real(0.798), Real(0.294), Real(-1.382),
  264. Real(0.75), Real(0), Real(-1.299),
  265. Real(0.798), Real(-0.294), Real(-1.382),
  266. Real(0.923), Real(-0.476), Real(-1.598),
  267. Real(1.077), Real(-0.476), Real(-1.866),
  268. Real(1.202), Real(-0.294), Real(-2.082),
  269. Real(1.673), Real(0), Real(-1.858),
  270. Real(1.609), Real(0.294), Real(-1.787),
  271. Real(1.442), Real(0.476), Real(-1.601),
  272. Real(1.235), Real(0.476), Real(-1.371),
  273. Real(1.068), Real(0.294), Real(-1.186),
  274. Real(1.004), Real(0), Real(-1.115),
  275. Real(1.068), Real(-0.294), Real(-1.186),
  276. Real(1.235), Real(-0.476), Real(-1.371),
  277. Real(1.442), Real(-0.476), Real(-1.601),
  278. Real(1.609), Real(-0.294), Real(-1.787),
  279. Real(2.023), Real(0), Real(-1.469),
  280. Real(1.945), Real(0.294), Real(-1.413),
  281. Real(1.743), Real(0.476), Real(-1.266),
  282. Real(1.493), Real(0.476), Real(-1.085),
  283. Real(1.291), Real(0.294), Real(-0.938),
  284. Real(1.214), Real(0), Real(-0.882),
  285. Real(1.291), Real(-0.294), Real(-0.938),
  286. Real(1.493), Real(-0.476), Real(-1.085),
  287. Real(1.743), Real(-0.476), Real(-1.266),
  288. Real(1.945), Real(-0.294), Real(-1.413),
  289. Real(2.284), Real(0), Real(-1.017),
  290. Real(2.197), Real(0.294), Real(-0.978),
  291. Real(1.968), Real(0.476), Real(-0.876),
  292. Real(1.686), Real(0.476), Real(-0.751),
  293. Real(1.458), Real(0.294), Real(-0.649),
  294. Real(1.37), Real(0), Real(-0.61 ),
  295. Real(1.458), Real(-0.294), Real(-0.649),
  296. Real(1.686), Real(-0.476), Real(-0.751),
  297. Real(1.968), Real(-0.476), Real(-0.876),
  298. Real(2.197), Real(-0.294), Real(-0.978),
  299. Real(2.445), Real(0), Real(-0.52 ),
  300. Real(2.352), Real(0.294), Real(-0.5 ),
  301. Real(2.107), Real(0.476), Real(-0.448),
  302. Real(1.805), Real(0.476), Real(-0.384),
  303. Real(1.561), Real(0.294), Real(-0.332),
  304. Real(1.467), Real(0), Real(-0.312),
  305. Real(1.561), Real(-0.294), Real(-0.332),
  306. Real(1.805), Real(-0.476), Real(-0.384),
  307. Real(2.107), Real(-0.476), Real(-0.448),
  308. Real(2.352), Real(-0.294), Real(-0.5)
  309. };
  310. static int gIndices[NUM_TRIANGLES][3] = {
  311. {0, 1, 11},
  312. {1, 2, 12},
  313. {2, 3, 13},
  314. {3, 4, 14},
  315. {4, 5, 15},
  316. {5, 6, 16},
  317. {6, 7, 17},
  318. {7, 8, 18},
  319. {8, 9, 19},
  320. {9, 0, 10},
  321. {10, 11, 21},
  322. {11, 12, 22},
  323. {12, 13, 23},
  324. {13, 14, 24},
  325. {14, 15, 25},
  326. {15, 16, 26},
  327. {16, 17, 27},
  328. {17, 18, 28},
  329. {18, 19, 29},
  330. {19, 10, 20},
  331. {20, 21, 31},
  332. {21, 22, 32},
  333. {22, 23, 33},
  334. {23, 24, 34},
  335. {24, 25, 35},
  336. {25, 26, 36},
  337. {26, 27, 37},
  338. {27, 28, 38},
  339. {28, 29, 39},
  340. {29, 20, 30},
  341. {30, 31, 41},
  342. {31, 32, 42},
  343. {32, 33, 43},
  344. {33, 34, 44},
  345. {34, 35, 45},
  346. {35, 36, 46},
  347. {36, 37, 47},
  348. {37, 38, 48},
  349. {38, 39, 49},
  350. {39, 30, 40},
  351. {40, 41, 51},
  352. {41, 42, 52},
  353. {42, 43, 53},
  354. {43, 44, 54},
  355. {44, 45, 55},
  356. {45, 46, 56},
  357. {46, 47, 57},
  358. {47, 48, 58},
  359. {48, 49, 59},
  360. {49, 40, 50},
  361. {50, 51, 61},
  362. {51, 52, 62},
  363. {52, 53, 63},
  364. {53, 54, 64},
  365. {54, 55, 65},
  366. {55, 56, 66},
  367. {56, 57, 67},
  368. {57, 58, 68},
  369. {58, 59, 69},
  370. {59, 50, 60},
  371. {60, 61, 71},
  372. {61, 62, 72},
  373. {62, 63, 73},
  374. {63, 64, 74},
  375. {64, 65, 75},
  376. {65, 66, 76},
  377. {66, 67, 77},
  378. {67, 68, 78},
  379. {68, 69, 79},
  380. {69, 60, 70},
  381. {70, 71, 81},
  382. {71, 72, 82},
  383. {72, 73, 83},
  384. {73, 74, 84},
  385. {74, 75, 85},
  386. {75, 76, 86},
  387. {76, 77, 87},
  388. {77, 78, 88},
  389. {78, 79, 89},
  390. {79, 70, 80},
  391. {80, 81, 91},
  392. {81, 82, 92},
  393. {82, 83, 93},
  394. {83, 84, 94},
  395. {84, 85, 95},
  396. {85, 86, 96},
  397. {86, 87, 97},
  398. {87, 88, 98},
  399. {88, 89, 99},
  400. {89, 80, 90},
  401. {90, 91, 101},
  402. {91, 92, 102},
  403. {92, 93, 103},
  404. {93, 94, 104},
  405. {94, 95, 105},
  406. {95, 96, 106},
  407. {96, 97, 107},
  408. {97, 98, 108},
  409. {98, 99, 109},
  410. {99, 90, 100},
  411. {100, 101, 111},
  412. {101, 102, 112},
  413. {102, 103, 113},
  414. {103, 104, 114},
  415. {104, 105, 115},
  416. {105, 106, 116},
  417. {106, 107, 117},
  418. {107, 108, 118},
  419. {108, 109, 119},
  420. {109, 100, 110},
  421. {110, 111, 121},
  422. {111, 112, 122},
  423. {112, 113, 123},
  424. {113, 114, 124},
  425. {114, 115, 125},
  426. {115, 116, 126},
  427. {116, 117, 127},
  428. {117, 118, 128},
  429. {118, 119, 129},
  430. {119, 110, 120},
  431. {120, 121, 131},
  432. {121, 122, 132},
  433. {122, 123, 133},
  434. {123, 124, 134},
  435. {124, 125, 135},
  436. {125, 126, 136},
  437. {126, 127, 137},
  438. {127, 128, 138},
  439. {128, 129, 139},
  440. {129, 120, 130},
  441. {130, 131, 141},
  442. {131, 132, 142},
  443. {132, 133, 143},
  444. {133, 134, 144},
  445. {134, 135, 145},
  446. {135, 136, 146},
  447. {136, 137, 147},
  448. {137, 138, 148},
  449. {138, 139, 149},
  450. {139, 130, 140},
  451. {140, 141, 151},
  452. {141, 142, 152},
  453. {142, 143, 153},
  454. {143, 144, 154},
  455. {144, 145, 155},
  456. {145, 146, 156},
  457. {146, 147, 157},
  458. {147, 148, 158},
  459. {148, 149, 159},
  460. {149, 140, 150},
  461. {150, 151, 161},
  462. {151, 152, 162},
  463. {152, 153, 163},
  464. {153, 154, 164},
  465. {154, 155, 165},
  466. {155, 156, 166},
  467. {156, 157, 167},
  468. {157, 158, 168},
  469. {158, 159, 169},
  470. {159, 150, 160},
  471. {160, 161, 171},
  472. {161, 162, 172},
  473. {162, 163, 173},
  474. {163, 164, 174},
  475. {164, 165, 175},
  476. {165, 166, 176},
  477. {166, 167, 177},
  478. {167, 168, 178},
  479. {168, 169, 179},
  480. {169, 160, 170},
  481. {170, 171, 181},
  482. {171, 172, 182},
  483. {172, 173, 183},
  484. {173, 174, 184},
  485. {174, 175, 185},
  486. {175, 176, 186},
  487. {176, 177, 187},
  488. {177, 178, 188},
  489. {178, 179, 189},
  490. {179, 170, 180},
  491. {180, 181, 191},
  492. {181, 182, 192},
  493. {182, 183, 193},
  494. {183, 184, 194},
  495. {184, 185, 195},
  496. {185, 186, 196},
  497. {186, 187, 197},
  498. {187, 188, 198},
  499. {188, 189, 199},
  500. {189, 180, 190},
  501. {190, 191, 201},
  502. {191, 192, 202},
  503. {192, 193, 203},
  504. {193, 194, 204},
  505. {194, 195, 205},
  506. {195, 196, 206},
  507. {196, 197, 207},
  508. {197, 198, 208},
  509. {198, 199, 209},
  510. {199, 190, 200},
  511. {200, 201, 211},
  512. {201, 202, 212},
  513. {202, 203, 213},
  514. {203, 204, 214},
  515. {204, 205, 215},
  516. {205, 206, 216},
  517. {206, 207, 217},
  518. {207, 208, 218},
  519. {208, 209, 219},
  520. {209, 200, 210},
  521. {210, 211, 221},
  522. {211, 212, 222},
  523. {212, 213, 223},
  524. {213, 214, 224},
  525. {214, 215, 225},
  526. {215, 216, 226},
  527. {216, 217, 227},
  528. {217, 218, 228},
  529. {218, 219, 229},
  530. {219, 210, 220},
  531. {220, 221, 231},
  532. {221, 222, 232},
  533. {222, 223, 233},
  534. {223, 224, 234},
  535. {224, 225, 235},
  536. {225, 226, 236},
  537. {226, 227, 237},
  538. {227, 228, 238},
  539. {228, 229, 239},
  540. {229, 220, 230},
  541. {230, 231, 241},
  542. {231, 232, 242},
  543. {232, 233, 243},
  544. {233, 234, 244},
  545. {234, 235, 245},
  546. {235, 236, 246},
  547. {236, 237, 247},
  548. {237, 238, 248},
  549. {238, 239, 249},
  550. {239, 230, 240},
  551. {240, 241, 251},
  552. {241, 242, 252},
  553. {242, 243, 253},
  554. {243, 244, 254},
  555. {244, 245, 255},
  556. {245, 246, 256},
  557. {246, 247, 257},
  558. {247, 248, 258},
  559. {248, 249, 259},
  560. {249, 240, 250},
  561. {250, 251, 261},
  562. {251, 252, 262},
  563. {252, 253, 263},
  564. {253, 254, 264},
  565. {254, 255, 265},
  566. {255, 256, 266},
  567. {256, 257, 267},
  568. {257, 258, 268},
  569. {258, 259, 269},
  570. {259, 250, 260},
  571. {260, 261, 271},
  572. {261, 262, 272},
  573. {262, 263, 273},
  574. {263, 264, 274},
  575. {264, 265, 275},
  576. {265, 266, 276},
  577. {266, 267, 277},
  578. {267, 268, 278},
  579. {268, 269, 279},
  580. {269, 260, 270},
  581. {270, 271, 281},
  582. {271, 272, 282},
  583. {272, 273, 283},
  584. {273, 274, 284},
  585. {274, 275, 285},
  586. {275, 276, 286},
  587. {276, 277, 287},
  588. {277, 278, 288},
  589. {278, 279, 289},
  590. {279, 270, 280},
  591. {280, 281, 291},
  592. {281, 282, 292},
  593. {282, 283, 293},
  594. {283, 284, 294},
  595. {284, 285, 295},
  596. {285, 286, 296},
  597. {286, 287, 297},
  598. {287, 288, 298},
  599. {288, 289, 299},
  600. {289, 280, 290},
  601. {290, 291, 1},
  602. {291, 292, 2},
  603. {292, 293, 3},
  604. {293, 294, 4},
  605. {294, 295, 5},
  606. {295, 296, 6},
  607. {296, 297, 7},
  608. {297, 298, 8},
  609. {298, 299, 9},
  610. {299, 290, 0},
  611. {0, 11, 10},
  612. {1, 12, 11},
  613. {2, 13, 12},
  614. {3, 14, 13},
  615. {4, 15, 14},
  616. {5, 16, 15},
  617. {6, 17, 16},
  618. {7, 18, 17},
  619. {8, 19, 18},
  620. {9, 10, 19},
  621. {10, 21, 20},
  622. {11, 22, 21},
  623. {12, 23, 22},
  624. {13, 24, 23},
  625. {14, 25, 24},
  626. {15, 26, 25},
  627. {16, 27, 26},
  628. {17, 28, 27},
  629. {18, 29, 28},
  630. {19, 20, 29},
  631. {20, 31, 30},
  632. {21, 32, 31},
  633. {22, 33, 32},
  634. {23, 34, 33},
  635. {24, 35, 34},
  636. {25, 36, 35},
  637. {26, 37, 36},
  638. {27, 38, 37},
  639. {28, 39, 38},
  640. {29, 30, 39},
  641. {30, 41, 40},
  642. {31, 42, 41},
  643. {32, 43, 42},
  644. {33, 44, 43},
  645. {34, 45, 44},
  646. {35, 46, 45},
  647. {36, 47, 46},
  648. {37, 48, 47},
  649. {38, 49, 48},
  650. {39, 40, 49},
  651. {40, 51, 50},
  652. {41, 52, 51},
  653. {42, 53, 52},
  654. {43, 54, 53},
  655. {44, 55, 54},
  656. {45, 56, 55},
  657. {46, 57, 56},
  658. {47, 58, 57},
  659. {48, 59, 58},
  660. {49, 50, 59},
  661. {50, 61, 60},
  662. {51, 62, 61},
  663. {52, 63, 62},
  664. {53, 64, 63},
  665. {54, 65, 64},
  666. {55, 66, 65},
  667. {56, 67, 66},
  668. {57, 68, 67},
  669. {58, 69, 68},
  670. {59, 60, 69},
  671. {60, 71, 70},
  672. {61, 72, 71},
  673. {62, 73, 72},
  674. {63, 74, 73},
  675. {64, 75, 74},
  676. {65, 76, 75},
  677. {66, 77, 76},
  678. {67, 78, 77},
  679. {68, 79, 78},
  680. {69, 70, 79},
  681. {70, 81, 80},
  682. {71, 82, 81},
  683. {72, 83, 82},
  684. {73, 84, 83},
  685. {74, 85, 84},
  686. {75, 86, 85},
  687. {76, 87, 86},
  688. {77, 88, 87},
  689. {78, 89, 88},
  690. {79, 80, 89},
  691. {80, 91, 90},
  692. {81, 92, 91},
  693. {82, 93, 92},
  694. {83, 94, 93},
  695. {84, 95, 94},
  696. {85, 96, 95},
  697. {86, 97, 96},
  698. {87, 98, 97},
  699. {88, 99, 98},
  700. {89, 90, 99},
  701. {90, 101, 100},
  702. {91, 102, 101},
  703. {92, 103, 102},
  704. {93, 104, 103},
  705. {94, 105, 104},
  706. {95, 106, 105},
  707. {96, 107, 106},
  708. {97, 108, 107},
  709. {98, 109, 108},
  710. {99, 100, 109},
  711. {100, 111, 110},
  712. {101, 112, 111},
  713. {102, 113, 112},
  714. {103, 114, 113},
  715. {104, 115, 114},
  716. {105, 116, 115},
  717. {106, 117, 116},
  718. {107, 118, 117},
  719. {108, 119, 118},
  720. {109, 110, 119},
  721. {110, 121, 120},
  722. {111, 122, 121},
  723. {112, 123, 122},
  724. {113, 124, 123},
  725. {114, 125, 124},
  726. {115, 126, 125},
  727. {116, 127, 126},
  728. {117, 128, 127},
  729. {118, 129, 128},
  730. {119, 120, 129},
  731. {120, 131, 130},
  732. {121, 132, 131},
  733. {122, 133, 132},
  734. {123, 134, 133},
  735. {124, 135, 134},
  736. {125, 136, 135},
  737. {126, 137, 136},
  738. {127, 138, 137},
  739. {128, 139, 138},
  740. {129, 130, 139},
  741. {130, 141, 140},
  742. {131, 142, 141},
  743. {132, 143, 142},
  744. {133, 144, 143},
  745. {134, 145, 144},
  746. {135, 146, 145},
  747. {136, 147, 146},
  748. {137, 148, 147},
  749. {138, 149, 148},
  750. {139, 140, 149},
  751. {140, 151, 150},
  752. {141, 152, 151},
  753. {142, 153, 152},
  754. {143, 154, 153},
  755. {144, 155, 154},
  756. {145, 156, 155},
  757. {146, 157, 156},
  758. {147, 158, 157},
  759. {148, 159, 158},
  760. {149, 150, 159},
  761. {150, 161, 160},
  762. {151, 162, 161},
  763. {152, 163, 162},
  764. {153, 164, 163},
  765. {154, 165, 164},
  766. {155, 166, 165},
  767. {156, 167, 166},
  768. {157, 168, 167},
  769. {158, 169, 168},
  770. {159, 160, 169},
  771. {160, 171, 170},
  772. {161, 172, 171},
  773. {162, 173, 172},
  774. {163, 174, 173},
  775. {164, 175, 174},
  776. {165, 176, 175},
  777. {166, 177, 176},
  778. {167, 178, 177},
  779. {168, 179, 178},
  780. {169, 170, 179},
  781. {170, 181, 180},
  782. {171, 182, 181},
  783. {172, 183, 182},
  784. {173, 184, 183},
  785. {174, 185, 184},
  786. {175, 186, 185},
  787. {176, 187, 186},
  788. {177, 188, 187},
  789. {178, 189, 188},
  790. {179, 180, 189},
  791. {180, 191, 190},
  792. {181, 192, 191},
  793. {182, 193, 192},
  794. {183, 194, 193},
  795. {184, 195, 194},
  796. {185, 196, 195},
  797. {186, 197, 196},
  798. {187, 198, 197},
  799. {188, 199, 198},
  800. {189, 190, 199},
  801. {190, 201, 200},
  802. {191, 202, 201},
  803. {192, 203, 202},
  804. {193, 204, 203},
  805. {194, 205, 204},
  806. {195, 206, 205},
  807. {196, 207, 206},
  808. {197, 208, 207},
  809. {198, 209, 208},
  810. {199, 200, 209},
  811. {200, 211, 210},
  812. {201, 212, 211},
  813. {202, 213, 212},
  814. {203, 214, 213},
  815. {204, 215, 214},
  816. {205, 216, 215},
  817. {206, 217, 216},
  818. {207, 218, 217},
  819. {208, 219, 218},
  820. {209, 210, 219},
  821. {210, 221, 220},
  822. {211, 222, 221},
  823. {212, 223, 222},
  824. {213, 224, 223},
  825. {214, 225, 224},
  826. {215, 226, 225},
  827. {216, 227, 226},
  828. {217, 228, 227},
  829. {218, 229, 228},
  830. {219, 220, 229},
  831. {220, 231, 230},
  832. {221, 232, 231},
  833. {222, 233, 232},
  834. {223, 234, 233},
  835. {224, 235, 234},
  836. {225, 236, 235},
  837. {226, 237, 236},
  838. {227, 238, 237},
  839. {228, 239, 238},
  840. {229, 230, 239},
  841. {230, 241, 240},
  842. {231, 242, 241},
  843. {232, 243, 242},
  844. {233, 244, 243},
  845. {234, 245, 244},
  846. {235, 246, 245},
  847. {236, 247, 246},
  848. {237, 248, 247},
  849. {238, 249, 248},
  850. {239, 240, 249},
  851. {240, 251, 250},
  852. {241, 252, 251},
  853. {242, 253, 252},
  854. {243, 254, 253},
  855. {244, 255, 254},
  856. {245, 256, 255},
  857. {246, 257, 256},
  858. {247, 258, 257},
  859. {248, 259, 258},
  860. {249, 250, 259},
  861. {250, 261, 260},
  862. {251, 262, 261},
  863. {252, 263, 262},
  864. {253, 264, 263},
  865. {254, 265, 264},
  866. {255, 266, 265},
  867. {256, 267, 266},
  868. {257, 268, 267},
  869. {258, 269, 268},
  870. {259, 260, 269},
  871. {260, 271, 270},
  872. {261, 272, 271},
  873. {262, 273, 272},
  874. {263, 274, 273},
  875. {264, 275, 274},
  876. {265, 276, 275},
  877. {266, 277, 276},
  878. {267, 278, 277},
  879. {268, 279, 278},
  880. {269, 270, 279},
  881. {270, 281, 280},
  882. {271, 282, 281},
  883. {272, 283, 282},
  884. {273, 284, 283},
  885. {274, 285, 284},
  886. {275, 286, 285},
  887. {276, 287, 286},
  888. {277, 288, 287},
  889. {278, 289, 288},
  890. {279, 280, 289},
  891. {280, 291, 290},
  892. {281, 292, 291},
  893. {282, 293, 292},
  894. {283, 294, 293},
  895. {284, 295, 294},
  896. {285, 296, 295},
  897. {286, 297, 296},
  898. {287, 298, 297},
  899. {288, 299, 298},
  900. {289, 290, 299},
  901. {290, 1, 0},
  902. {291, 2, 1},
  903. {292, 3, 2},
  904. {293, 4, 3},
  905. {294, 5, 4},
  906. {295, 6, 5},
  907. {296, 7, 6},
  908. {297, 8, 7},
  909. {298, 9, 8},
  910. {299, 0, 9},
  911. };
  912. #endif