less copy protection, more size visualization
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

794 lines
60 KiB

  1. function makeVehicle(name, sides, mass) {
  2. views = {
  3. }
  4. Object.entries(sides).forEach(([key, val]) => {
  5. views[key] = {
  6. attributes: {
  7. height: {
  8. name: "Height",
  9. power: 1,
  10. type: "length",
  11. base: val.height
  12. }
  13. },
  14. image: val.image,
  15. name: val.name
  16. }
  17. if (mass !== undefined) {
  18. views[key].attributes.mass = {
  19. name: "Mass",
  20. power: 3,
  21. type: "mass",
  22. base: mass
  23. }
  24. }
  25. });
  26. return makeEntity({ name: name }, views);
  27. }
  28. function makeMultiVehicle(name, sides) {
  29. views = {
  30. }
  31. Object.entries(sides).forEach(([key, val]) => {
  32. views[key] = {
  33. attributes: {
  34. height: {
  35. name: "Height",
  36. power: 1,
  37. type: "length",
  38. base: val.height
  39. }
  40. },
  41. image: val.image,
  42. name: val.name,
  43. rename: val.rename
  44. }
  45. if (val.mass) {
  46. views[key].attributes.mass = {
  47. name: "Mass",
  48. power: 3,
  49. type: "mass",
  50. base: val.mass
  51. }
  52. }
  53. });
  54. return makeEntity({ name: name }, views);
  55. }
  56. function makeAircraft() {
  57. const options = [
  58. ["Antonov An-225", 84, 18.1, 285000],
  59. ["Airbus A380-800", 72.7, 24.1, 277000],
  60. ["Stratolaunch", 73, 16.5, 540000],
  61. ["Boeing 747-8", 76.3, 19.4, 220128],
  62. ["Hughes H-4 Hercules", 66.6, 24.2, 136077],
  63. ["Cessena 172", 8.28, 2.72, 757, 2.72]
  64. ],
  65. sides = {}
  66. const sorted = options.sort((a, b) => a[1] - b[1])
  67. sorted.forEach(plane => {
  68. sides[plane[0] + " (Side)"] = {
  69. name: plane[0] + " (Side)",
  70. rename: true,
  71. height: math.unit(plane[2], "meters"),
  72. mass: math.unit(plane[3], "kg"),
  73. image: { source: "./media/vehicles/planes/plane_" + plane[0].replace(/ /g, "-").toLowerCase() + "-side.svg" }
  74. };
  75. sides[plane[0] + " (Top)"] = {
  76. name: plane[0] + " (Top)",
  77. rename: true,
  78. height: math.unit(plane[1], "meters"),
  79. mass: math.unit(plane[3], "kg"),
  80. image: { source: "./media/vehicles/planes/plane_" + plane[0].replace(/ /g, "-").toLowerCase() + "-top.svg" }
  81. };
  82. if (plane.length > 4) {
  83. sides[plane[0] + " (Front)"] = {
  84. name: plane[0] + " (Front)",
  85. rename: true,
  86. height: math.unit(plane[4], "meters"),
  87. mass: math.unit(plane[3], "kg"),
  88. image: { source: "./media/vehicles/planes/plane_" + plane[0].replace(/ /g, "-").toLowerCase() + "-front.svg" }
  89. };
  90. }
  91. });
  92. const entity = makeMultiVehicle("Aircraft", sides);
  93. entity.sizes.push({
  94. name: "1:72",
  95. height: math.unit(sorted[0][2] / 72, "meters")
  96. });
  97. entity.sizes.push({
  98. name: "1:24",
  99. height: math.unit(sorted[0][2] / 24, "meters")
  100. });
  101. entity.sizes.push({
  102. name: "1:16",
  103. height: math.unit(sorted[0][2] / 16, "meters")
  104. });
  105. entity.sizes.push({
  106. name: "1:8",
  107. height: math.unit(sorted[0][2] / 8, "meters")
  108. });
  109. entity.sizes.push({
  110. name: "1:4",
  111. height: math.unit(sorted[0][2] / 4, "meters")
  112. });
  113. entity.sizes.push({
  114. name: "1",
  115. height: math.unit(sorted[0][2], "meters")
  116. });
  117. return entity;
  118. }
  119. function makeCars() {
  120. const options = [
  121. ["Toyota Prius C", 3.99, 1.45, 1134, 1, 1.07, 1],
  122. ["VW New Beetle", 4.13, 1.57, 1230, 1, 1, 1],
  123. ["Honda Civic", 4.55, 1.42, 1303, 1, 1, 1],
  124. ["Lamborghini Aventador", 4.78, 1.136, 1575, 1, 1, 1],
  125. ["Ford F-150", 5.89, 1.92, 1950, 1, 1, 1]
  126. ]
  127. sides = {}
  128. const sorted = options.sort((a, b) => a[1] - b[1])
  129. sorted.forEach(car => {
  130. sides[car[0] + " (Front)"] = {
  131. name: car[0] + " (Front)",
  132. rename: true,
  133. height: math.unit(car[2], "meters"),
  134. mass: math.unit(car[3], "kg"),
  135. image: { source: "./media/vehicles/cars/car_" + car[0].replace(/ /g, "-").toLowerCase() + "-front.svg", extra: car[4] }
  136. };
  137. sides[car[0] + " (Side)"] = {
  138. name: car[0] + " (Side)",
  139. rename: true,
  140. height: math.unit(car[2], "meters"),
  141. mass: math.unit(car[3], "kg"),
  142. image: { source: "./media/vehicles/cars/car_" + car[0].replace(/ /g, "-").toLowerCase() + "-side.svg", extra: car[5] }
  143. };
  144. sides[car[0] + " (Top)"] = {
  145. name: car[0] + " (Top)",
  146. rename: true,
  147. height: math.unit(car[1], "meters"),
  148. mass: math.unit(car[3], "kg"),
  149. image: { source: "./media/vehicles/cars/car_" + car[0].replace(/ /g, "-").toLowerCase() + "-top.svg", extra: car[6] }
  150. };
  151. });
  152. const entity = makeMultiVehicle("Cars", sides);
  153. entity.sizes.push({
  154. name: "1:72",
  155. height: math.unit(sorted[0][2] / 72, "meters")
  156. });
  157. entity.sizes.push({
  158. name: "1:24",
  159. height: math.unit(sorted[0][2] / 24, "meters")
  160. });
  161. entity.sizes.push({
  162. name: "1:16",
  163. height: math.unit(sorted[0][2] / 16, "meters")
  164. });
  165. entity.sizes.push({
  166. name: "1:8",
  167. height: math.unit(sorted[0][2] / 8, "meters")
  168. });
  169. entity.sizes.push({
  170. name: "1:4",
  171. height: math.unit(sorted[0][2] / 4, "meters")
  172. });
  173. entity.sizes.push({
  174. name: "1",
  175. height: math.unit(sorted[0][2], "meters")
  176. });
  177. return entity;
  178. }
  179. function makeBuses() {
  180. const options = [
  181. ["City Bus", 11.95, 2.99, 14000, 1, 1, 1],
  182. ["Articulated Bus", 18, 3.13, 25000, 1, 1, 1],
  183. ["Coach Bus", 12, 3.81, 18000, 1, 1, 1],
  184. ["Shuttle Bus", 7.01, 2.67, 6000, 1, 1, 1],
  185. ]
  186. sides = {}
  187. options.forEach(bus => {
  188. sides[bus[0] + " (Front)"] = {
  189. name: bus[0] + " (Front)",
  190. rename: true,
  191. height: math.unit(bus[2], "meters"),
  192. mass: math.unit(bus[3], "kg"),
  193. image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-front.svg", extra: bus[4] }
  194. };
  195. sides[bus[0] + " (Side)"] = {
  196. name: bus[0] + " (Side)",
  197. rename: true,
  198. height: math.unit(bus[2], "meters"),
  199. mass: math.unit(bus[3], "kg"),
  200. image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-side.svg", extra: bus[5] }
  201. };
  202. sides[bus[0] + " (Top)"] = {
  203. name: bus[0] + " (Top)",
  204. rename: true,
  205. height: math.unit(bus[1], "meters"),
  206. mass: math.unit(bus[3], "kg"),
  207. image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-top.svg", extra: bus[6] }
  208. };
  209. });
  210. const entity = makeMultiVehicle("Buses", sides);
  211. entity.sizes.push({
  212. name: "1:72",
  213. height: math.unit(options[0][2] / 72, "meters")
  214. });
  215. entity.sizes.push({
  216. name: "1:24",
  217. height: math.unit(options[0][2] / 24, "meters")
  218. });
  219. entity.sizes.push({
  220. name: "1:16",
  221. height: math.unit(options[0][2] / 16, "meters")
  222. });
  223. entity.sizes.push({
  224. name: "1:8",
  225. height: math.unit(options[0][2] / 8, "meters")
  226. });
  227. entity.sizes.push({
  228. name: "1:4",
  229. height: math.unit(options[0][2] / 4, "meters")
  230. });
  231. entity.sizes.push({
  232. name: "1",
  233. height: math.unit(options[0][2], "meters")
  234. });
  235. return entity;
  236. }
  237. // TODO this should be named something more generic and put in objects.js
  238. function makeVehicleGroup(info, name, prefix, directory="vehicles") {
  239. sides = {}
  240. let defaultHeight;
  241. info.forEach(vehicle => {
  242. Object.entries(vehicle.sides).forEach(([sideName, data]) => {
  243. if (!defaultHeight) {
  244. defaultHeight = data.height;
  245. }
  246. sides[vehicle.name + " (" + sideName + ")"] = {
  247. name: vehicle.name + " (" + sideName + ")",
  248. rename: true,
  249. height: data.height,
  250. mass: vehicle.mass,
  251. image: { source: "./media/" + directory + "/" + name.replace(/ /g, "-").toLowerCase() + "/" + (prefix == "" ? "" : prefix + "_") + vehicle.name.replace(/ /g, "-").toLowerCase() + "-" + sideName.replace(/ /g, "-").toLowerCase() + ".svg", extra: (data.extra ? data.extra : 1) }
  252. };
  253. });
  254. });
  255. const entity = makeMultiVehicle(name, sides);
  256. entity.sizes.push({
  257. name: "1:72",
  258. height: math.unit(math.divide(defaultHeight, 72))
  259. });
  260. entity.sizes.push({
  261. name: "1:24",
  262. height: math.unit(math.divide(defaultHeight, 24))
  263. });
  264. entity.sizes.push({
  265. name: "1:16",
  266. height: math.unit(math.divide(defaultHeight, 16))
  267. });
  268. entity.sizes.push({
  269. name: "1:8",
  270. height: math.unit(math.divide(defaultHeight, 8))
  271. });
  272. entity.sizes.push({
  273. name: "1:4",
  274. height: math.unit(math.divide(defaultHeight, 4))
  275. });
  276. return entity;
  277. }
  278. function makeAutoVehicleGroup(info, name, directory = "vehicles") {
  279. sides = {}
  280. let defaultHeight;
  281. info.forEach(vehicle => {
  282. Object.entries(vehicle.sides).forEach(([sideName, data]) => {
  283. if (!defaultHeight) {
  284. defaultHeight = data.height;
  285. }
  286. sides[vehicle.name + " (" + sideName + ")"] = {
  287. name: vehicle.name + " (" + sideName + ")",
  288. rename: true,
  289. height: data.height,
  290. image: { source: "./media/" + directory + "/" + name + "/" + vehicle.name + "-" + sideName + ".svg" }
  291. };
  292. });
  293. });
  294. const entity = makeMultiVehicle(name, sides);
  295. if (directory == "vehicles") {
  296. entity.sizes.push({
  297. name: "1:72",
  298. height: math.unit(math.divide(defaultHeight, 72))
  299. });
  300. entity.sizes.push({
  301. name: "1:24",
  302. height: math.unit(math.divide(defaultHeight, 24))
  303. });
  304. entity.sizes.push({
  305. name: "1:16",
  306. height: math.unit(math.divide(defaultHeight, 16))
  307. });
  308. entity.sizes.push({
  309. name: "1:8",
  310. height: math.unit(math.divide(defaultHeight, 8))
  311. });
  312. entity.sizes.push({
  313. name: "1:4",
  314. height: math.unit(math.divide(defaultHeight, 4))
  315. });
  316. }
  317. return entity;
  318. }
  319. function makeVehicles() {
  320. const results = [];
  321. results.push({
  322. name: "Titanic",
  323. constructor: () => makeVehicle(
  324. "Titanic",
  325. {
  326. side: {
  327. name: "Side",
  328. height: math.unit(883 * 1114 / 4250, "feet"),
  329. image: { source: "./media/vehicles/titanic.svg" },
  330. },
  331. sideVertical: {
  332. name: "Side (Vertical)",
  333. height: math.unit(883, "feet"),
  334. image: { source: "./media/vehicles/vertical-titanic.svg" },
  335. },
  336. },
  337. math.unit(52310, "tons")
  338. )
  339. });
  340. results.push({
  341. name: "18-Wheeler",
  342. constructor: () => makeVehicle(
  343. "18-Wheeler",
  344. {
  345. side: {
  346. name: "Side",
  347. height: math.unit(13.6, "feet"),
  348. image: { source: "./media/vehicles/18-wheeler.svg" },
  349. },
  350. sideVertical: {
  351. name: "Side (Vertical)",
  352. height: math.unit(54, "feet"),
  353. image: { source: "./media/vehicles/18-wheeler-vertical.svg" },
  354. },
  355. },
  356. math.unit(52310, "tons")
  357. )
  358. });
  359. results.push({
  360. name: "Spacecraft",
  361. constructor: () => makeMultiVehicle(
  362. "Spacecraft",
  363. {
  364. "n-1": {
  365. name: "N-1",
  366. rename: true,
  367. height: math.unit(105, "meters"),
  368. mass: math.unit(95, "tons"),
  369. image: { source: "./media/vehicles/spacecraft/n-1.svg" }
  370. },
  371. "saturn-v": {
  372. name: "Saturn V",
  373. rename: true,
  374. height: math.unit(110.6, "meters"),
  375. mass: math.unit(140, "tons"),
  376. image: { source: "./media/vehicles/spacecraft/saturn-v.svg" }
  377. },
  378. "starship": {
  379. name: "Starship",
  380. rename: true,
  381. height: math.unit(118, "m"),
  382. mass: math.unit(150, "tons"),
  383. image: { source: "./media/vehicles/spacecraft/saturn-v.svg" }
  384. },
  385. }
  386. )
  387. });
  388. results.push({
  389. name: "Aircraft",
  390. constructor: () => makeAircraft()
  391. });
  392. results.push({
  393. name: "Cars",
  394. constructor: () => makeCars()
  395. });
  396. results.push({
  397. name: "Buses",
  398. constructor: () => makeBuses()
  399. });
  400. results.push({
  401. name: "Trains",
  402. constructor: () => makeVehicleGroup([
  403. {
  404. name: "60' Boxcar",
  405. mass: math.unit(80900, "lbs"),
  406. sides: {
  407. "Side": { height: math.unit(17, "feet") },
  408. "Front": { height: math.unit(17, "feet") }
  409. }
  410. },
  411. {
  412. name: "64' Flatcar",
  413. mass: math.unit(66000, "lbs"),
  414. sides: {
  415. "Side": { height: math.unit(5.03, "feet") },
  416. "Front": { height: math.unit(5.03, "feet") },
  417. }
  418. },
  419. {
  420. name: "3250 Cubic Ft Hopper",
  421. mass: math.unit(52000, "lbs"),
  422. sides: {
  423. "Side": { height: math.unit(15 + 3 / 12, "feet") },
  424. "Front": { height: math.unit(15 + 3 / 12, "feet") },
  425. }
  426. },
  427. {
  428. name: "28600 Gallon Tank Car",
  429. mass: math.unit(93000, "lbs"),
  430. sides: {
  431. "Side": { height: math.unit(15 + 5.7 / 12, "feet") },
  432. "Front": { height: math.unit(15 + 5.7 / 12, "feet") },
  433. }
  434. }
  435. ],
  436. "Trains",
  437. "train")
  438. });
  439. const dataWarships = [
  440. {
  441. name: "Balao",
  442. sides: {
  443. "Side": { height: math.unit(13.346937056812138, "meters") },
  444. "Front": { height: math.unit(13.346937056812138, "meters") },
  445. "Top": { height: math.unit(95.35877787338985, "meters") },
  446. }
  447. },
  448. {
  449. name: "Bismarck",
  450. sides: {
  451. "Side": { height: math.unit(54.69636677864504, "meters") },
  452. "Front": { height: math.unit(54.69636677864504, "meters") },
  453. "Top": { height: math.unit(255.13670261140695, "meters") },
  454. }
  455. },
  456. {
  457. name: "Charleston",
  458. sides: {
  459. "Side": { height: math.unit(43.84541411294146, "meters") },
  460. "Front": { height: math.unit(45.62719791691388, "meters") },
  461. "Top": { height: math.unit(129.98356198199832, "meters") },
  462. }
  463. },
  464. {
  465. name: "Enterprise",
  466. sides: {
  467. "Side": { height: math.unit(48.51854022788899, "meters") },
  468. "Front": { height: math.unit(48.51854022788899, "meters") },
  469. "Top": { height: math.unit(253.1778795587282, "meters") },
  470. }
  471. },
  472. {
  473. name: "Erie",
  474. sides: {
  475. "Side": { height: math.unit(32.059378464959345, "meters") },
  476. "Front": { height: math.unit(32.059378464959345, "meters") },
  477. "Top": { height: math.unit(101.90240111970473, "meters") },
  478. }
  479. },
  480. {
  481. name: "Fusō",
  482. sides: {
  483. "Side": { height: math.unit(57.714804802509974, "meters") },
  484. "Front": { height: math.unit(57.714804802509974, "meters") },
  485. "Top": { height: math.unit(213.5157104361463, "meters") },
  486. }
  487. },
  488. {
  489. name: "Hood",
  490. sides: {
  491. "Side": { height: math.unit(51.230756762367264, "meters") },
  492. "Front": { height: math.unit(51.230756762367264, "meters") },
  493. "Top": { height: math.unit(263.41015261022113, "meters") },
  494. }
  495. },
  496. {
  497. name: "Hōshō",
  498. sides: {
  499. "Side": { height: math.unit(32.758064912151085, "meters") },
  500. "Front": { height: math.unit(32.758064912151085, "meters") },
  501. "Top": { height: math.unit(185.00137927141287, "meters") },
  502. }
  503. },
  504. {
  505. name: "Iowa",
  506. sides: {
  507. "Side": { height: math.unit(49.127098508478305, "meters") },
  508. "Front": { height: math.unit(49.127098508478305, "meters") },
  509. "Top": { height: math.unit(271.8477422138651, "meters") },
  510. }
  511. },
  512. {
  513. name: "König",
  514. sides: {
  515. "Side": { height: math.unit(45.404394789902064, "meters") },
  516. "Front": { height: math.unit(45.72006845008677, "meters") },
  517. "Top": { height: math.unit(178.61867938785338, "meters") },
  518. }
  519. },
  520. {
  521. name: "New Mexico",
  522. sides: {
  523. "Side": { height: math.unit(41.32890317041514, "meters") },
  524. "Front": { height: math.unit(41.32890317041514, "meters") },
  525. "Top": { height: math.unit(190.75114403153, "meters") },
  526. }
  527. },
  528. {
  529. name: "Shōkaku",
  530. sides: {
  531. "Side": { height: math.unit(41.67455523006811, "meters") },
  532. "Front": { height: math.unit(41.67455523006811, "meters") },
  533. "Top": { height: math.unit(260.7137969911492, "meters") },
  534. }
  535. },
  536. {
  537. name: "Texas",
  538. sides: {
  539. "Side": { height: math.unit(48.903111190282694, "meters") },
  540. "Front": { height: math.unit(48.903111190282694, "meters") },
  541. "Top": { height: math.unit(195.24415882424861, "meters") },
  542. }
  543. },
  544. {
  545. name: "U-2501",
  546. sides: {
  547. "Side": { height: math.unit(11.361271301409108, "meters") },
  548. "Front": { height: math.unit(11.361271301409108, "meters") },
  549. "Top": { height: math.unit(77.06816292937421, "meters") },
  550. }
  551. },
  552. {
  553. name: "Yamato",
  554. sides: {
  555. "Side": { height: math.unit(49.20849004806329, "meters") },
  556. "Front": { height: math.unit(49.20849004806329, "meters") },
  557. "Top": { height: math.unit(265.94789907523005, "meters") },
  558. }
  559. }
  560. ];
  561. results.push({
  562. name: "Warships",
  563. constructor: () => makeAutoVehicleGroup(dataWarships,
  564. "Warships")
  565. });
  566. const dataEveOnline = [
  567. {
  568. name: "Archon",
  569. sides: {
  570. "Side": { height: math.unit(447.54522705078125, "meters") },
  571. "Front": { height: math.unit(447.54522705078125, "meters") },
  572. "Top": { height: math.unit(3154.529052734375, "meters") },
  573. }
  574. },
  575. {
  576. name: "Avatar",
  577. sides: {
  578. "Side": { height: math.unit(6176.2001953125, "meters") },
  579. "Front": { height: math.unit(6176.2001953125, "meters") },
  580. "Top": { height: math.unit(13831.8583984375, "meters") },
  581. }
  582. },
  583. {
  584. name: "Capsule",
  585. sides: {
  586. "Side": { height: math.unit(2.4739999771118164, "meters") },
  587. "Front": { height: math.unit(2.4739999771118164, "meters") },
  588. "Top": { height: math.unit(3.822000026702881, "meters") },
  589. }
  590. },
  591. {
  592. name: "Chimera",
  593. sides: {
  594. "Side": { height: math.unit(475.55010986328125, "meters") },
  595. "Front": { height: math.unit(475.55010986328125, "meters") },
  596. "Top": { height: math.unit(2696.60009765625, "meters") },
  597. }
  598. },
  599. {
  600. name: "Erebus",
  601. sides: {
  602. "Side": { height: math.unit(4789.970703125, "meters") },
  603. "Front": { height: math.unit(4789.970703125, "meters") },
  604. "Top": { height: math.unit(14785.546875, "meters") },
  605. }
  606. },
  607. {
  608. name: "Ibis",
  609. sides: {
  610. "Side": { height: math.unit(29.632003784179688, "meters") },
  611. "Front": { height: math.unit(29.632003784179688, "meters") },
  612. "Top": { height: math.unit(64.61199951171875, "meters") },
  613. }
  614. },
  615. {
  616. name: "Impairor",
  617. sides: {
  618. "Side": { height: math.unit(13.158005714416504, "meters") },
  619. "Front": { height: math.unit(13.158005714416504, "meters") },
  620. "Top": { height: math.unit(53.68499755859375, "meters") },
  621. }
  622. },
  623. {
  624. name: "Leviathan",
  625. sides: {
  626. "Side": { height: math.unit(3544.030029296875, "meters") },
  627. "Front": { height: math.unit(3544.030029296875, "meters") },
  628. "Top": { height: math.unit(18055.015625, "meters") },
  629. }
  630. },
  631. {
  632. name: "Nidhoggur",
  633. sides: {
  634. "Side": { height: math.unit(263.20928955078125, "meters") },
  635. "Front": { height: math.unit(263.20928955078125, "meters") },
  636. "Top": { height: math.unit(2153.196044921875, "meters") },
  637. }
  638. },
  639. {
  640. name: "Ragnarok",
  641. sides: {
  642. "Side": { height: math.unit(3152.279541015625, "meters") },
  643. "Front": { height: math.unit(3152.279541015625, "meters") },
  644. "Top": { height: math.unit(18139.9765625, "meters") },
  645. }
  646. },
  647. {
  648. name: "Reaper",
  649. sides: {
  650. "Side": { height: math.unit(31.324996948242188, "meters") },
  651. "Front": { height: math.unit(31.324996948242188, "meters") },
  652. "Top": { height: math.unit(55.847999572753906, "meters") },
  653. }
  654. },
  655. {
  656. name: "Thanatos",
  657. sides: {
  658. "Side": { height: math.unit(296.2213134765625, "meters") },
  659. "Front": { height: math.unit(296.2213134765625, "meters") },
  660. "Top": { height: math.unit(2266.876953125, "meters") },
  661. }
  662. },
  663. {
  664. name: "Vanguard",
  665. sides: {
  666. "Side": { height: math.unit(296.2213134765625, "meters") },
  667. "Front": { height: math.unit(296.2213134765625, "meters") },
  668. "Top": { height: math.unit(2266.876953125, "meters") },
  669. }
  670. },
  671. {
  672. name: "Velator",
  673. sides: {
  674. "Side": { height: math.unit(38.00899887084961, "meters") },
  675. "Front": { height: math.unit(38.00899887084961, "meters") },
  676. "Top": { height: math.unit(35.28599548339844, "meters") },
  677. }
  678. }
  679. ];
  680. results.push({
  681. name: "Eve Online",
  682. constructor: () => makeAutoVehicleGroup(
  683. dataEveOnline,
  684. "Eve Online")
  685. });
  686. results.push(makeHeight(
  687. [
  688. ["Oil Tanker", 75.8, "meters"],
  689. ["Container Ship", 78.8, "meters"],
  690. ["Bulk Carrier", 70.04, "meters"],
  691. ["Passenger Ship", 80.9, "meters"]
  692. ],
  693. "Ships",
  694. "",
  695. "vehicles",
  696. false
  697. ));
  698. results.push(makeModel({
  699. "name": "Aircraft Cabins",
  700. "kind": "vehicles",
  701. "forms": [
  702. {
  703. "name": "737",
  704. "views": [
  705. {
  706. "name": "Cross Section",
  707. "height": 4.02691801469
  708. }
  709. ]
  710. },
  711. {
  712. "name": "777",
  713. "views": [
  714. {
  715. "name": "Cross Section",
  716. "height": 6.19751351351
  717. }
  718. ]
  719. }
  720. ]
  721. }))
  722. /* ***Tanks*** */ results.push(makeModel({"name": "Tanks", "kind": "vehicles", "trace_alpha": 0.25, "sort": true, "forms": [{"name": "M1A1 Abrams", "views": [{"name": "Front", "height": 3.028367757797241, "extra": 1.0013411674543364, "bottom": 0.001337579617834337}, {"name": "Angled", "height": 3.028367757797241, "extra": 1.001082251082251, "bottom": 0.0010799136069114472}, {"name": "Corner", "height": 3.028367757797241, "extra": 1.0009943323863637, "bottom": 0.0009923589171432405}, {"name": "Side", "height": 3.028367757797241, "extra": 1.0017021276595746, "bottom": 0.0016963528413910093}, {"name": "Back Corner", "height": 3.028367757797241, "extra": 1.001417434443657, "bottom": 0.0014134275618374558}, {"name": "Back", "height": 3.028367757797241, "extra": 1.0013411674543364, "bottom": 0.001337579617834337}, {"name": "Top", "height": 9.81060791015625, "extra": 1.000525385111227, "bottom": 0.0005248336316750113}, {"name": "Bottom", "height": 9.81060791015625, "extra": 1.0005540595899918, "bottom": 0.000553446305525449}]}, {"name": "Leopard 2A5", "views": [{"name": "Front", "height": 2.990591287612915, "extra": 1.001958224543081, "bottom": 0.0019505851755526658}, {"name": "Angled", "height": 2.990591287612915, "extra": 1.002109259627618, "bottom": 0.0021003990537660252}, {"name": "Corner", "height": 2.990591287612915, "extra": 1.0013425805919327, "bottom": 0.0013389852008456945}, {"name": "Side", "height": 2.990591287612915, "extra": 1.0017376194613379, "bottom": 0.0017316017316017316}, {"name": "Back Corner", "height": 2.990591287612915, "extra": 1.0013454326963727, "bottom": 0.0013418220338983337}, {"name": "Back", "height": 2.990591287612915, "extra": 1.001958224543081, "bottom": 0.0019505851755526658}, {"name": "Top", "height": 9.891084671020508, "extra": 1.0003676470588236, "bottom": 0.00036737692872889965}, {"name": "Bottom", "height": 9.891084671020508, "extra": 1.000498949579832, "bottom": 0.0004984521748255656}]}, {"name": "M3A3 Bradley", "views": [{"name": "Front", "height": 3.440152645111084, "extra": 1.0013130252100841, "bottom": 0.0013095861707700367}, {"name": "Angled", "height": 3.440152645111084, "extra": 1.0017045454545455, "bottom": 0.0016987542468857276}, {"name": "Corner", "height": 3.440152645111084, "extra": 1.0014385480739976, "bottom": 0.0014344211065573666}, {"name": "Side", "height": 3.440152645111084, "extra": 1.0016566214859437, "bottom": 0.001651150822086959}, {"name": "Back Corner", "height": 3.440152645111084, "extra": 1.001078265568682, "bottom": 0.0010759452592285328}, {"name": "Back", "height": 3.440152645111084, "extra": 1.0015756302521008, "bottom": 0.0015706806282722514}, {"name": "Top", "height": 6.577320098876953, "extra": 1.0009726642508272, "bottom": 0.000970775773047238}, {"name": "Bottom", "height": 6.577320098876953, "extra": 1.0008665056191577, "bottom": 0.0008650065530799953}]}, {"name": "M1128 Stryker MGS", "views": [{"name": "Front", "height": 3.578094005584717, "extra": 1.0015756302521008, "bottom": 0.0015706806282722514}, {"name": "Angled", "height": 3.578094005584717, "extra": 1.0014016213349495, "bottom": 0.0013977032336052503}, {"name": "Corner", "height": 3.578094005584717, "extra": 1.0012464504898546, "bottom": 0.0012433509390805465}, {"name": "Side", "height": 3.578094005584717, "extra": 1.0015483742627054, "bottom": 0.0015435941398291248}, {"name": "Back Corner", "height": 3.578094005584717, "extra": 1.0021619805720103, "bottom": 0.00215267249976552}, {"name": "Back", "height": 3.578094005584717, "extra": 1.0015756302521008, "bottom": 0.0015706806282722514}, {"name": "Top", "height": 8.121484756469727, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Bottom", "height": 8.121484756469727, "extra": 1.001029306722689, "bottom": 0.0010271921311568156}]}, {"name": "T28 Super Heavy Tank", "views": [{"name": "Front", "height": 2.899054527282715, "extra": 1.0013003901170352, "bottom": 0.0012970168612191958}, {"name": "Angled", "height": 2.899054527282715, "extra": 1.0021367521367521, "bottom": 0.002127659574468085}, {"name": "Corner", "height": 2.899054527282715, "extra": 1.0008249464057069, "bottom": 0.0008235875744881428}, {"name": "Side", "height": 2.899054527282715, "extra": 1.000102890946502, "bottom": 0.00010286977776445375}, {"name": "Back Corner", "height": 2.899054527282715, "extra": 1.0008387293729373, "bottom": 0.0008373247951364307}, {"name": "Back", "height": 2.899054527282715, "extra": 1.0013614792855774, "bottom": 0.0013577821011672496}, {"name": "Top", "height": 11.380563735961914, "extra": 1.0005252100840336, "bottom": 0.0005246589716684155}, {"name": "Bottom", "height": 11.380563735961914, "extra": 1.0005252100840336, "bottom": 0.0005246589716684155}]}, {"name": "Challenger 2", "views": [{"name": "Front", "height": 3.2104392051696777, "extra": 1.000985142076858, "bottom": 0.0009832048838555193}, {"name": "Angled", "height": 3.2104392051696777, "extra": 1.0019307310344894, "bottom": 0.0019233042680113022}, {"name": "Corner", "height": 3.2104392051696777, "extra": 1.0014982022235674, "bottom": 0.0014937264150943713}, {"name": "Side", "height": 3.2104392051696777, "extra": 1.001547135678392, "bottom": 0.001542363188157088}, {"name": "Back Corner", "height": 3.2104392051696777, "extra": 1.0020511439263355, "bottom": 0.002042763920717712}, {"name": "Back", "height": 3.2104392051696777, "extra": 1.0013327265635157, "bottom": 0.0013291836867016498}, {"name": "Top", "height": 12.292409896850586, "extra": 1.0006463825770542, "bottom": 0.0006455480350490813}, {"name": "Bottom", "height": 12.292409896850586, "extra": 1.0008408219034106, "bottom": 0.0008394103142541887}]}, {"name": "Centurion Mk3", "views": [{"name": "Front", "height": 3.0065624713897705, "extra": 1.001813784764208, "bottom": 0.0018072289156626507}, {"name": "Angled", "height": 3.0065624713897705, "extra": 1.0010460251046025, "bottom": 0.0010438413361169101}, {"name": "Corner", "height": 3.0065624713897705, "extra": 1.0014285714285713, "bottom": 0.0014245014245014246}, {"name": "Side", "height": 3.0065624713897705, "extra": 1.0017421602787457, "bottom": 0.001736111111111111}, {"name": "Back Corner", "height": 3.0065624713897705, "extra": 1.0014285714285713, "bottom": 0.0014245014245014246}, {"name": "Back", "height": 3.0065624713897705, "extra": 1.001813784764208, "bottom": 0.0018072289156626507}, {"name": "Top", "height": 9.990520477294922, "extra": 1.0005251825009192, "bottom": 0.0005246314464088978}, {"name": "Bottom", "height": 9.990520477294922, "extra": 1.0005251549207017, "bottom": 0.0005246039240373517}]}, {"name": "BMP-1", "views": [{"name": "Front", "height": 2.7867891788482666, "extra": 1.0015381617227412, "bottom": 0.0015334443519289733}, {"name": "Angled", "height": 2.7867891788482666, "extra": 1.0019484839844122, "bottom": 0.0019409202802499095}, {"name": "Corner", "height": 2.7867891788482666, "extra": 1.0015902018348624, "bottom": 0.0015851603849569413}, {"name": "Side", "height": 2.7867891788482666, "extra": 1.0013494602583077, "bottom": 0.0013458279755726103}, {"name": "Back Corner", "height": 2.7867891788482666, "extra": 1.001834862385321, "bottom": 0.0018281535648994515}, {"name": "Back", "height": 2.7867891788482666, "extra": 1.0015381617227412, "bottom": 0.0015334443519289733}, {"name": "Top", "height": 6.823264122009277, "extra": 1.0011817226890756, "bottom": 0.0011789363374377785}, {"name": "Bottom", "height": 6.823264122009277, "extra": 1.0011029411764707, "bottom": 0.0011005135730008052}]}, {"name": "BMP-3", "views": [{"name": "Front", "height": 2.802197217941284, "extra": 1.0015157411597388, "bottom": 0.0015111601045997576}, {"name": "Angled", "height": 2.802197217941284, "extra": 1.0019441266954274, "bottom": 0.001936596716677122}, {"name": "Corner", "height": 2.802197217941284, "extra": 1.002677975179621, "bottom": 0.0026637084891815875}, {"name": "Side", "height": 2.802197217941284, "extra": 1.0023151437057762, "bottom": 0.002304473331917157}, {"name": "Back Corner", "height": 2.802197217941284, "extra": 1.0016644198174707, "bottom": 0.001658897613345059}, {"name": "Back", "height": 2.802197217941284, "extra": 1.0016091537914538, "bottom": 0.0016039916529542407}, {"name": "Top", "height": 7.262314796447754, "extra": 1.000931643907563, "bottom": 0.0009299112153263788}, {"name": "Bottom", "height": 7.262314796447754, "extra": 1.0008241071428572, "bottom": 0.000822751072785357}]}, {"name": "KV2", "views": [{"name": "Front", "height": 3.4385173320770264, "extra": 1.0014963771920613, "bottom": 0.0014919122650893244}, {"name": "Angled", "height": 3.4385173320770264, "extra": 1.0011654743655254, "bottom": 0.0011627640222034315}, {"name": "Corner", "height": 3.4385173320770264, "extra": 1.001167287791203, "bottom": 0.0011645690168123927}, {"name": "Side", "height": 3.4385173320770264, "extra": 1.0014046457476775, "bottom": 0.0014007107429001011}, {"name": "Back Corner", "height": 3.4385173320770264, "extra": 1.000986971820455, "bottom": 0.0009850274318196626}, {"name": "Back", "height": 3.4385173320770264, "extra": 1.0015227093725387, "bottom": 0.0015180861644767123}, {"name": "Top", "height": 6.815186500549316, "extra": 1.0010766806722688, "bottom": 0.0010743671715318665}, {"name": "Bottom", "height": 6.815186500549316, "extra": 1.0010766806722688, "bottom": 0.0010743671715318665}]}, {"name": "Panzer VIII Maus", "views": [{"name": "Front", "height": 3.593390464782715, "extra": 1.0015044498381878, "bottom": 0.001499936679199097}, {"name": "Angled", "height": 3.593390464782715, "extra": 1.0012503964096575, "bottom": 0.0012472772277227128}, {"name": "Corner", "height": 3.593390464782715, "extra": 1.0013683536105866, "bottom": 0.0013646190477843811}, {"name": "Side", "height": 3.593390464782715, "extra": 1.000847442218798, "bottom": 0.0008460083324413882}, {"name": "Back Corner", "height": 3.593390464782715, "extra": 1.0013683536105866, "bottom": 0.0013646190477843811}, {"name": "Back", "height": 3.593390464782715, "extra": 1.0015044498381878, "bottom": 0.001499936679199097}, {"name": "Top", "height": 10.546064376831055, "extra": 1.0003939075630253, "bottom": 0.00039359748097612176}, {"name": "Bottom", "height": 10.546064376831055, "extra": 1.0005252100840336, "bottom": 0.0005246589716684155}]}, {"name": "Leclerc Serie 2", "views": [{"name": "Front", "height": 3.047330856323242, "extra": 1.0019233155478346, "bottom": 0.0019159456118664456}, {"name": "Angled", "height": 3.047330856323242, "extra": 1.0009369512419986, "bottom": 0.0009351987706991811}, {"name": "Corner", "height": 3.047330856323242, "extra": 1.0015582598315145, "bottom": 0.0015534185719899736}, {"name": "Side", "height": 3.047330856323242, "extra": 1.001585388515407, "bottom": 0.00158037749075924}, {"name": "Back Corner", "height": 3.047330856323242, "extra": 1.001490596635282, "bottom": 0.0014861660869448245}, {"name": "Back", "height": 3.047330856323242, "extra": 1.0018922943293214, "bottom": 0.0018851597750171097}, {"name": "Top", "height": 10.588752746582031, "extra": 1.0005024458386917, "bottom": 0.0005019414419141464}, {"name": "Bottom", "height": 10.588752746582031, "extra": 1.0006231330693736, "bottom": 0.0006223574463619689}]}]}));
  723. /* ***Helicopters*** */ results.push(makeModel({"name": "Helicopters", "kind": "vehicles", "trace_alpha": 0.25, "sort": true, "forms": [{"name": "AH-64D", "views": [{"name": "Front", "height": 5.108381271362305}, {"name": "Angled", "height": 5.108381271362305}, {"name": "Corner", "height": 5.108381271362305}, {"name": "Side", "height": 5.108381271362305}, {"name": "Back Corner", "height": 5.108381271362305}, {"name": "Back", "height": 5.108381271362305}, {"name": "Top", "height": 17.766433715820312}, {"name": "Bottom", "height": 17.766433715820312}]}, {"name": "Mi-24D \"Hind\"", "views": [{"name": "Front", "height": 5.288262367248535}, {"name": "Angled", "height": 5.288262367248535}, {"name": "Corner", "height": 5.288262367248535}, {"name": "Side", "height": 5.288262367248535}, {"name": "Back Corner", "height": 5.288262367248535}, {"name": "Back", "height": 5.288262367248535}, {"name": "Top", "height": 21.228628158569336}, {"name": "Bottom", "height": 21.228628158569336}]}, {"name": "UH-1C \"Huey\"", "views": [{"name": "Front", "height": 4.85120153427124, "extra": 1.0012345679012347, "bottom": 0.0012315270935961307}, {"name": "Angled", "height": 4.85120153427124, "extra": 1.001466275659824, "bottom": 0.0014619883040935349}, {"name": "Corner", "height": 4.85120153427124, "extra": 1.0021222411380606, "bottom": 0.0021132713950796135}, {"name": "Side", "height": 4.85120153427124, "extra": 1.0027729394254186, "bottom": 0.002757645855589896}, {"name": "Back Corner", "height": 4.85120153427124, "extra": 1.002261596563179, "bottom": 0.002251412987429553}, {"name": "Back", "height": 4.85120153427124, "extra": 1.0011722878907277, "bottom": 0.0011695458019650147}, {"name": "Top", "height": 15.264501571655273, "extra": 1.000639898141342, "bottom": 0.0006390802488152436}, {"name": "Bottom", "height": 15.264501571655273, "extra": 1.001050365001838, "bottom": 0.001048163094177454}]}]}));
  724. /* ***BattleMechs*** */ results.push(makeModel({"name": "BattleMechs", "kind": "vehicles", "trace_alpha": 0.25, "sort": true, "forms": [{"name": "Orion ON1-V", "views": [{"name": "Front", "height": 19.242650985717773, "extra": 1.000892482150357, "bottom": 0.0008908919400482368}, {"name": "Angled", "height": 19.242650985717773, "extra": 1.000982327608844, "bottom": 0.0009804014580042388}, {"name": "Corner", "height": 19.242650985717773, "extra": 1.0007878151260505, "bottom": 0.0007865757734661773}, {"name": "Side", "height": 19.242650985717773, "extra": 1.000840203749409, "bottom": 0.0008387942332895985}, {"name": "Back Corner", "height": 19.242650985717773, "extra": 1.0011819089142198, "bottom": 0.0011791216853579288}, {"name": "Back", "height": 19.242650985717773, "extra": 1.0006827372511948, "bottom": 0.0006818062621282606}, {"name": "Top", "height": 8.696438789367676, "extra": 1.0015082956259427, "bottom": 0.0015037593984962407}, {"name": "Bottom", "height": 8.696438789367676, "extra": 1.0015082956259427, "bottom": 0.0015037593984962407}]}, {"name": "Mad Cat Mk.II McII-A", "views": [{"name": "Front", "height": 18.5931396484375, "extra": 1.0008928571428573, "bottom": 0.0008912655971479739}, {"name": "Angled", "height": 18.5931396484375, "extra": 1.0009191176470589, "bottom": 0.0009174311926605505}, {"name": "Corner", "height": 18.5931396484375, "extra": 1.0008665966386554, "bottom": 0.0008650972579037716}, {"name": "Side", "height": 18.5931396484375, "extra": 1.0008689600840335, "bottom": 0.0008674525208028017}, {"name": "Back Corner", "height": 18.5931396484375, "extra": 1.0008665966386554, "bottom": 0.0008650972579037716}, {"name": "Back", "height": 18.5931396484375, "extra": 1.0008928571428573, "bottom": 0.0008912655971479739}, {"name": "Top", "height": 10.632101058959961, "extra": 1.0011808755760367, "bottom": 0.0011780932130337077}, {"name": "Bottom", "height": 10.632101058959961, "extra": 1.0011808755760367, "bottom": 0.0011780932130337077}]}, {"name": "Catapult CPLT-K2", "views": [{"name": "Front", "height": 15.076629638671875, "extra": 1.0007847084809176, "bottom": 0.0007834788758804551}, {"name": "Angled", "height": 15.076629638671875, "extra": 1.000755396250197, "bottom": 0.0007542567247938204}, {"name": "Corner", "height": 15.076629638671875, "extra": 1.0007878151260505, "bottom": 0.0007865757734661773}, {"name": "Side", "height": 15.076629638671875, "extra": 1.0007818183689818, "bottom": 0.0007805977975879041}, {"name": "Back Corner", "height": 15.076629638671875, "extra": 1.0007649159663865, "bottom": 0.000763747560979207}, {"name": "Back", "height": 15.076629638671875, "extra": 1.0005296775681354, "bottom": 0.0005291170452757011}, {"name": "Top", "height": 8.290498733520508, "extra": 1.001310615989515, "bottom": 0.00130718954248366}, {"name": "Bottom", "height": 8.290498733520508, "extra": 1.001310615989515, "bottom": 0.00130718954248366}]}, {"name": "Javelin JVN-10P", "views": [{"name": "Front", "height": 13.98193073272705, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Angled", "height": 13.98193073272705, "extra": 1.0009977419524234, "bottom": 0.000995754939468629}, {"name": "Corner", "height": 13.98193073272705, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Side", "height": 13.98193073272705, "extra": 1.0010503098414032, "bottom": 0.0010481081647626034}, {"name": "Back Corner", "height": 13.98193073272705, "extra": 1.0010766806722688, "bottom": 0.0010743671715318665}, {"name": "Back", "height": 13.98193073272705, "extra": 1.0010209558823528, "bottom": 0.0010188754286284472}, {"name": "Top", "height": 6.904259204864502, "extra": 1.0019299291152535, "bottom": 0.0019225085049772743}, {"name": "Bottom", "height": 6.904259204864502, "extra": 1.0019690207403518, "bottom": 0.001961297071129707}]}, {"name": "Locust LCT-1E", "views": [{"name": "Front", "height": 9.575200080871582, "extra": 1.0014421025976181, "bottom": 0.001437955239645508}, {"name": "Angled", "height": 9.575200080871582, "extra": 1.001549868697479, "bottom": 0.0015450793572173251}, {"name": "Corner", "height": 9.575200080871582, "extra": 1.0015492070160696, "bottom": 0.001544421758023045}, {"name": "Side", "height": 9.575200080871582, "extra": 1.001482694327731, "bottom": 0.001478310562360202}, {"name": "Back Corner", "height": 9.575200080871582, "extra": 1.001611565030184, "bottom": 0.001606387434555058}, {"name": "Back", "height": 9.575200080871582, "extra": 1.0016167463360823, "bottom": 0.0016115354480202716}, {"name": "Top", "height": 4.680999755859375, "extra": 1.0025193270600754, "bottom": 0.0025066966825080107}, {"name": "Bottom", "height": 4.680999755859375, "extra": 1.002667901206887, "bottom": 0.0026537413672939247}]}, {"name": "Centurion CN9-A", "views": [{"name": "Front", "height": 15.192169189453125, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Angled", "height": 15.192169189453125, "extra": 1.0010766806722688, "bottom": 0.0010743671715318665}, {"name": "Corner", "height": 15.192169189453125, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Side", "height": 15.192169189453125, "extra": 1.0010244222689075, "bottom": 0.0010223276784278362}, {"name": "Back Corner", "height": 15.192169189453125, "extra": 1.0010241596638656, "bottom": 0.0010220661460244485}, {"name": "Back", "height": 15.192169189453125, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Top", "height": 9.315898895263672, "extra": 1.0016820242796547, "bottom": 0.0016763848396501126}, {"name": "Bottom", "height": 9.315898895263672, "extra": 1.0016820242796547, "bottom": 0.0016763848396501126}]}, {"name": "Timber Wolf TBR-D", "views": [{"name": "Front", "height": 15.806550979614258, "extra": 1.001050365001838, "bottom": 0.001048163094177454}, {"name": "Angled", "height": 15.806550979614258, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Corner", "height": 15.806550979614258, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Side", "height": 15.806550979614258, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Back Corner", "height": 15.806550979614258, "extra": 1.0011029411764707, "bottom": 0.0011005135730008052}, {"name": "Back", "height": 15.806550979614258, "extra": 1.001076624126884, "bottom": 0.0010743108688816448}, {"name": "Top", "height": 8.977701187133789, "extra": 1.0013155161670013, "bottom": 0.0013120640839721642}, {"name": "Bottom", "height": 8.977701187133789, "extra": 1.0014618959602137, "bottom": 0.0014576341412885344}]}, {"name": "Hellfire HLF-1", "views": [{"name": "Front", "height": 15.027021408081055, "extra": 1.0011029411764707, "bottom": 0.0011005135730008052}, {"name": "Angled", "height": 15.027021408081055, "extra": 1.0009132752192407, "bottom": 0.0009116101173809773}, {"name": "Corner", "height": 15.027021408081055, "extra": 1.0009714855852543, "bottom": 0.0009696016771487993}, {"name": "Side", "height": 15.027021408081055, "extra": 1.0011280962510483, "bottom": 0.0011255567782843033}, {"name": "Back Corner", "height": 15.027021408081055, "extra": 1.000813214136164, "bottom": 0.0008118936493786663}, {"name": "Back", "height": 15.027021408081055, "extra": 1.001129201680672, "bottom": 0.0011266572341874252}, {"name": "Top", "height": 8.786240577697754, "extra": 1.0015974440894568, "bottom": 0.0015923566878980893}, {"name": "Bottom", "height": 8.786240577697754, "extra": 1.0015974440894568, "bottom": 0.0015923566878980893}]}, {"name": "Warhammer IIC WHM-IIC-2", "views": [{"name": "Front", "height": 18.07369041442871, "extra": 1.0010404127934458, "bottom": 0.0010382523713458255}, {"name": "Angled", "height": 18.07369041442871, "extra": 1.0009047340659056, "bottom": 0.0009030999353528377}, {"name": "Corner", "height": 18.07369041442871, "extra": 1.0008550420168068, "bottom": 0.0008535823193110568}, {"name": "Side", "height": 18.07369041442871, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Back Corner", "height": 18.07369041442871, "extra": 1.0008140756302522, "bottom": 0.000812752346494654}, {"name": "Back", "height": 18.07369041442871, "extra": 1.0010251286629555, "bottom": 0.0010230311857722396}, {"name": "Top", "height": 9.755419731140137, "extra": 1.0013679890560876, "bottom": 0.001364256480218281}, {"name": "Bottom", "height": 9.755419731140137, "extra": 1.0013679890560876, "bottom": 0.001364256480218281}]}, {"name": "Mauler MAL-MX90", "views": [{"name": "Front", "height": 18.73101043701172, "extra": 1.0009053358542095, "bottom": 0.0009036995509994764}, {"name": "Angled", "height": 18.73101043701172, "extra": 1.0009234506302522, "bottom": 0.0009217482522432121}, {"name": "Corner", "height": 18.73101043701172, "extra": 1.0012737588652483, "bottom": 0.0012705221874487408}, {"name": "Side", "height": 18.73101043701172, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Back Corner", "height": 18.73101043701172, "extra": 1.0009378446510162, "bottom": 0.0009360888391948024}, {"name": "Back", "height": 18.73101043701172, "extra": 1.0008871179497951, "bottom": 0.0008855467809056884}, {"name": "Top", "height": 8.012378692626953, "extra": 1.0018920623479592, "bottom": 0.0018849295395385595}, {"name": "Bottom", "height": 8.012378692626953, "extra": 1.0018018018018018, "bottom": 0.0017953321364452424}]}, {"name": "Shadow Hawk SHD-2D", "views": [{"name": "Front", "height": 16.58738136291504, "extra": 1.0008205545635962, "bottom": 0.0008192101503414468}, {"name": "Angled", "height": 16.58738136291504, "extra": 1.000876943277311, "bottom": 0.0008754079111458338}, {"name": "Corner", "height": 16.58738136291504, "extra": 1.000870758483034, "bottom": 0.0008692446786783905}, {"name": "Side", "height": 16.58738136291504, "extra": 1.001076624126884, "bottom": 0.0010743108688816448}, {"name": "Back Corner", "height": 16.58738136291504, "extra": 1.000939059627003, "bottom": 0.0009372992672024626}, {"name": "Back", "height": 16.58738136291504, "extra": 1.0008205545635962, "bottom": 0.0008192101503414468}, {"name": "Top", "height": 8.649438858032227, "extra": 1.0016104187088644, "bottom": 0.0016052484645449152}, {"name": "Bottom", "height": 8.649438858032227, "extra": 1.0016128343369275, "bottom": 0.0016076485952153665}]}, {"name": "Stalker STK-5M", "views": [{"name": "Front", "height": 18.072290420532227, "extra": 1.0009059398140854, "bottom": 0.0009043013289298506}, {"name": "Angled", "height": 18.072290420532227, "extra": 1.0008111443726697, "bottom": 0.0008098305936119588}, {"name": "Corner", "height": 18.072290420532227, "extra": 1.0001969124133585, "bottom": 0.00019683489489016613}, {"name": "Side", "height": 18.072290420532227, "extra": 1.000733867156734, "bottom": 0.0007327916133385913}, {"name": "Back Corner", "height": 18.072290420532227, "extra": 1.000493934779184, "bottom": 0.0004934473176001861}, {"name": "Back", "height": 18.072290420532227, "extra": 1.0002100288789708, "bottom": 0.00020994069175450775}, {"name": "Top", "height": 11.11400032043457, "extra": 1.0015359242116952, "bottom": 0.0015312205343111455}, {"name": "Bottom", "height": 11.11400032043457, "extra": 1.0017205600357246, "bottom": 0.001714659685863922}]}, {"name": "Commando COM-2D", "views": [{"name": "Front", "height": 10.656279563903809, "extra": 1.0014966915239996, "bottom": 0.0014922247238074815}, {"name": "Angled", "height": 10.656279563903809, "extra": 1.001627980254175, "bottom": 0.0016226968174203877}, {"name": "Corner", "height": 10.656279563903809, "extra": 1.0016413125941332, "bottom": 0.00163594240837695}, {"name": "Side", "height": 10.656279563903809, "extra": 1.0016375902801906, "bottom": 0.0016322443851106683}, {"name": "Back Corner", "height": 10.656279563903809, "extra": 1.0015227893299725, "bottom": 0.0015181656371059907}, {"name": "Back", "height": 10.656279563903809, "extra": 1.0015229492700346, "bottom": 0.0015183246073298905}, {"name": "Top", "height": 4.866259574890137, "extra": 1.0026107979455223, "bottom": 0.0025972362275087932}, {"name": "Bottom", "height": 4.866259574890137, "extra": 1.0028175313059033, "bottom": 0.0028017433069464233}]}, {"name": "Atlas AS7-K3", "views": [{"name": "Front", "height": 19.985469818115234, "extra": 1.0009159621948018, "bottom": 0.0009142872896167872}, {"name": "Angled", "height": 19.985469818115234, "extra": 1.0005648760764545, "bottom": 0.0005642386266512974}, {"name": "Corner", "height": 19.985469818115234, "extra": 1.0006525013523526, "bottom": 0.0006516509461055274}, {"name": "Side", "height": 19.985469818115234, "extra": 1.0005580758699548, "bottom": 0.0005574536670745041}, {"name": "Back Corner", "height": 19.985469818115234, "extra": 1.0009782680060404, "bottom": 0.0009763577269867659}, {"name": "Back", "height": 19.985469818115234, "extra": 1.000922236807561, "bottom": 0.0009205388978522498}, {"name": "Top", "height": 7.53287935256958, "extra": 1.001161014995266, "bottom": 0.0011583253291131879}, {"name": "Bottom", "height": 7.53287935256958, "extra": 1.0008576316259046, "bottom": 0.0008561630808344492}]}, {"name": "Zeus ZEU-9S", "views": [{"name": "Front", "height": 20.56538963317871, "extra": 1.0007878151260505, "bottom": 0.0007865757734661773}, {"name": "Angled", "height": 20.56538963317871, "extra": 1.001101888441411, "bottom": 0.0010994654648360674}, {"name": "Corner", "height": 20.56538963317871, "extra": 1.000985789443001, "bottom": 0.0009838497056942927}, {"name": "Side", "height": 20.56538963317871, "extra": 1.0008140756302522, "bottom": 0.000812752346494654}, {"name": "Back Corner", "height": 20.56538963317871, "extra": 1.0009714345725687, "bottom": 0.0009695508621140974}, {"name": "Back", "height": 20.56538963317871, "extra": 1.0009978991596638, "bottom": 0.0009959115211237361}, {"name": "Top", "height": 10.611200332641602, "extra": 1.001235290293219, "bottom": 0.0012322459303457363}, {"name": "Bottom", "height": 10.611200332641602, "extra": 1.0012357723577234, "bottom": 0.0012327256212287443}]}, {"name": "King Crab KGC-000", "views": [{"name": "Front", "height": 17.4248104095459, "extra": 1.0009715876267002, "bottom": 0.0009697033231995684}, {"name": "Angled", "height": 17.4248104095459, "extra": 1.0009453285016543, "bottom": 0.0009435445824814984}, {"name": "Corner", "height": 17.4248104095459, "extra": 1.00052911112282, "bottom": 0.0005285517975498621}, {"name": "Side", "height": 17.4248104095459, "extra": 1.0009978991596638, "bottom": 0.0009959115211237361}, {"name": "Back Corner", "height": 17.4248104095459, "extra": 1.0010504201680672, "bottom": 0.0010482180293501049}, {"name": "Back", "height": 17.4248104095459, "extra": 1.001005094537815, "bottom": 0.0010030781610536861}, {"name": "Top", "height": 13.934221267700195, "extra": 1.0010169672964728, "bottom": 0.0010149030500507937}, {"name": "Bottom", "height": 13.934221267700195, "extra": 1.001028881156317, "bottom": 0.0010267683111824398}]}, {"name": "Dire Wolf DWF-A", "views": [{"name": "Front", "height": 16.94127082824707, "extra": 1.0009661292863519, "bottom": 0.0009642660749622106}, {"name": "Angled", "height": 16.94127082824707, "extra": 1.0012871703267836, "bottom": 0.0012838652203532178}, {"name": "Corner", "height": 16.94127082824707, "extra": 1.0009570197561999, "bottom": 0.0009551914819616029}, {"name": "Side", "height": 16.94127082824707, "extra": 1.0010241596638656, "bottom": 0.0010220661460244485}, {"name": "Back Corner", "height": 16.94127082824707, "extra": 1.0010271242516542, "bottom": 0.0010250186087113389}, {"name": "Back", "height": 16.94127082824707, "extra": 1.0009853752034867, "bottom": 0.0009834370944327472}, {"name": "Top", "height": 9.353300094604492, "extra": 1.001437587657784, "bottom": 0.0014334661911754106}, {"name": "Bottom", "height": 9.353300094604492, "extra": 1.001437587657784, "bottom": 0.0014334661911754106}]}, {"name": "BattleMaster BLR-3M", "views": [{"name": "Front", "height": 18.355831146240234, "extra": 1.0010966496368578, "bottom": 0.0010942496199611382}, {"name": "Angled", "height": 18.355831146240234, "extra": 1.000840203749409, "bottom": 0.0008387942332895985}, {"name": "Corner", "height": 18.355831146240234, "extra": 1.0012083004990806, "bottom": 0.0012053875583040484}, {"name": "Side", "height": 18.355831146240234, "extra": 1.0008140756302522, "bottom": 0.000812752346494654}, {"name": "Back Corner", "height": 18.355831146240234, "extra": 1.0012871027055426, "bottom": 0.0012837979459233103}, {"name": "Back", "height": 18.355831146240234, "extra": 1.000985434916799, "bottom": 0.000983496573071796}, {"name": "Top", "height": 10.153579711914062, "extra": 1.0013404825737264, "bottom": 0.001336898395721925}, {"name": "Bottom", "height": 10.153579711914062, "extra": 1.0013404825737264, "bottom": 0.001336898395721925}]}, {"name": "Jenner JR7-K", "views": [{"name": "Front", "height": 13.323670387268066, "extra": 1.0011820330969268, "bottom": 0.0011792452830188679}, {"name": "Angled", "height": 13.323670387268066, "extra": 1.0012083004990806, "bottom": 0.0012053875583040484}, {"name": "Corner", "height": 13.323670387268066, "extra": 1.0014451626464869, "bottom": 0.001440997694403689}, {"name": "Side", "height": 13.323670387268066, "extra": 1.0014160845849858, "bottom": 0.0014120853204757926}, {"name": "Back Corner", "height": 13.323670387268066, "extra": 1.0013662637940095, "bottom": 0.001362540614191456}, {"name": "Back", "height": 13.323670387268066, "extra": 1.0011820330969268, "bottom": 0.0011792452830188679}, {"name": "Top", "height": 8.308999061584473, "extra": 1.001522426267589, "bottom": 0.001517804775869312}, {"name": "Bottom", "height": 8.308999061584473, "extra": 1.0014965343415247, "bottom": 0.0014920684780901049}]}, {"name": "Hunchback HBK-4P", "views": [{"name": "Front", "height": 15.88750171661377, "extra": 1.0013137151865477, "bottom": 0.001310272536687631}, {"name": "Angled", "height": 15.88750171661377, "extra": 1.0012083004990806, "bottom": 0.0012053875583040484}, {"name": "Corner", "height": 15.88750171661377, "extra": 1.0013399894902786, "bottom": 0.0013364079450762301}, {"name": "Side", "height": 15.88750171661377, "extra": 1.0015255249445933, "bottom": 0.0015208846496515087}, {"name": "Back Corner", "height": 15.88750171661377, "extra": 1.0013137151865477, "bottom": 0.001310272536687631}, {"name": "Back", "height": 15.88750171661377, "extra": 1.0012083004990806, "bottom": 0.0012053875583040484}, {"name": "Top", "height": 7.665339469909668, "extra": 1.0024106802715629, "bottom": 0.0023991132814492598}, {"name": "Bottom", "height": 7.665339469909668, "extra": 1.0018611466684633, "bottom": 0.0018542446260467137}]}]}));
  725. /* ***Sailing Warships*** */ results.push(makeModel({"name": "Sailing Warships", "kind": "vehicles", "trace_alpha": 0.25, "forms": [{"name": "HMS Indefatigable", "views": [{"name": "Front", "height": 57.06600570678711}, {"name": "Angled", "height": 57.06600570678711}, {"name": "Corner", "height": 57.06600570678711}, {"name": "Side", "height": 57.06600570678711}, {"name": "Back Corner", "height": 57.06600570678711}, {"name": "Back", "height": 57.06600570678711}, {"name": "Top", "height": 76.98500061035156}, {"name": "Bottom", "height": 76.98500061035156}]}, {"name": "HMS Cerberus", "views": [{"name": "Front", "height": 45.07007598876953}, {"name": "Angled", "height": 45.07007598876953}, {"name": "Corner", "height": 45.07007598876953}, {"name": "Side", "height": 45.07007598876953}, {"name": "Back Corner", "height": 45.07007598876953}, {"name": "Back", "height": 45.07007598876953}, {"name": "Top", "height": 57.21495819091797}, {"name": "Bottom", "height": 57.21495819091797}]}, {"name": "HMS Pickle", "views": [{"name": "Front", "height": 35.339900970458984}, {"name": "Angled", "height": 35.339900970458984}, {"name": "Corner", "height": 35.339900970458984}, {"name": "Side", "height": 35.339900970458984}, {"name": "Back Corner", "height": 35.339900970458984}, {"name": "Back", "height": 35.339900970458984}, {"name": "Top", "height": 41.53532028198242}, {"name": "Bottom", "height": 41.53532028198242}]}, {"name": "Lynx", "views": [{"name": "Front", "height": 36.244998931884766}, {"name": "Angled", "height": 36.244998931884766}, {"name": "Corner", "height": 36.244998931884766}, {"name": "Side", "height": 36.244998931884766}, {"name": "Back Corner", "height": 36.244998931884766}, {"name": "Back", "height": 36.244998931884766}, {"name": "Top", "height": 39.4050407409668}, {"name": "Bottom", "height": 39.4050407409668}]}, {"name": "USS Constitution", "views": [{"name": "Front", "height": 71.22599792480469}, {"name": "Angled", "height": 71.22599792480469}, {"name": "Corner", "height": 71.22599792480469}, {"name": "Side", "height": 71.22599792480469}, {"name": "Back Corner", "height": 71.22599792480469}, {"name": "Back", "height": 71.22599792480469}, {"name": "Top", "height": 93.91355895996094}, {"name": "Bottom", "height": 93.91355895996094}]}, {"name": "HMS Implacable", "views": [{"name": "Front", "height": 67.13400268554688}, {"name": "Angled", "height": 67.13400268554688}, {"name": "Corner", "height": 67.13400268554688}, {"name": "Side", "height": 67.13400268554688}, {"name": "Back Corner", "height": 67.13400268554688}, {"name": "Back", "height": 67.13400268554688}, {"name": "Top", "height": 84.33200073242188}, {"name": "Bottom", "height": 84.33200073242188}]}, {"name": "Le Requin", "views": [{"name": "Front", "height": 37.33704376220703}, {"name": "Angled", "height": 37.33704376220703}, {"name": "Corner", "height": 37.33704376220703}, {"name": "Side", "height": 37.33704376220703}, {"name": "Back Corner", "height": 37.33704376220703}, {"name": "Back", "height": 37.33704376220703}, {"name": "Top", "height": 60.72100067138672}, {"name": "Bottom", "height": 60.72100067138672}]}, {"name": "Santi\u0301sima Trinidad", "views": [{"name": "Front", "height": 78.73477172851562, "extra": 1.0004201460007351, "bottom": 0.00041979325182345305}, {"name": "Angled", "height": 78.73477172851562, "extra": 1.0004601407415188, "bottom": 0.0004597176718578734}, {"name": "Corner", "height": 78.73477172851562, "extra": 1.000493093487395, "bottom": 0.0004926076841132053}, {"name": "Side", "height": 78.73477172851562, "extra": 1.0003950445610266, "bottom": 0.00039473268702434715}, {"name": "Back Corner", "height": 78.73477172851562, "extra": 1.0004300157563026, "bottom": 0.000429646246990908}, {"name": "Back", "height": 78.73477172851562, "extra": 1.0004464285714287, "bottom": 0.0004460303300625158}, {"name": "Top", "height": 94.80522155761719, "extra": 1.0004778110393362, "bottom": 0.00047735486848455314}, {"name": "Bottom", "height": 94.80522155761719, "extra": 1.0003915966386554, "bottom": 0.0003912901828147869}]}], "sort": true, "default_view": "Side"}));
  726. /* ***INSERT HERE*** */
  727. results.sort((b1, b2) => {
  728. e1 = b1.constructor();
  729. e2 = b2.constructor();
  730. return e1.name.localeCompare(e2.name)
  731. });
  732. return results;
  733. }