function makeVehicle(name, sides, mass) { views = { } Object.entries(sides).forEach(([key, val]) => { views[key] = { attributes: { height: { name: "Height", power: 1, type: "length", base: val.height } }, image: val.image, name: val.name } if (mass !== undefined) { views[key].attributes.mass = { name: "Mass", power: 3, type: "mass", base: mass } } }); return makeEntity({ name: name }, views); } function makeMultiVehicle(name, sides) { views = { } Object.entries(sides).forEach(([key, val]) => { views[key] = { attributes: { height: { name: "Height", power: 1, type: "length", base: val.height } }, image: val.image, name: val.name, rename: val.rename } if (val.mass) { views[key].attributes.mass = { name: "Mass", power: 3, type: "mass", base: val.mass } } }); return makeEntity({ name: name }, views); } function makeAircraft() { const options = [ ["Antonov An-225", 84, 18.1, 285000], ["Airbus A380-800", 72.7, 24.1, 277000], ["Stratolaunch", 73, 16.5, 540000], ["Boeing 747-8", 76.3, 19.4, 220128], ["Hughes H-4 Hercules", 66.6, 24.2, 136077], ["Cessena 172", 8.28, 2.72, 757, 2.72] ], sides = {} const sorted = options.sort((a, b) => a[1] - b[1]) sorted.forEach(plane => { sides[plane[0] + " (Side)"] = { name: plane[0] + " (Side)", rename: true, height: math.unit(plane[2], "meters"), mass: math.unit(plane[3], "kg"), image: { source: "./media/vehicles/planes/plane_" + plane[0].replace(/ /g, "-").toLowerCase() + "-side.svg" } }; sides[plane[0] + " (Top)"] = { name: plane[0] + " (Top)", rename: true, height: math.unit(plane[1], "meters"), mass: math.unit(plane[3], "kg"), image: { source: "./media/vehicles/planes/plane_" + plane[0].replace(/ /g, "-").toLowerCase() + "-top.svg" } }; if (plane.length > 4) { sides[plane[0] + " (Front)"] = { name: plane[0] + " (Front)", rename: true, height: math.unit(plane[4], "meters"), mass: math.unit(plane[3], "kg"), image: { source: "./media/vehicles/planes/plane_" + plane[0].replace(/ /g, "-").toLowerCase() + "-front.svg" } }; } }); const entity = makeMultiVehicle("Aircraft", sides); entity.sizes.push({ name: "1:72", height: math.unit(sorted[0][2] / 72, "meters") }); entity.sizes.push({ name: "1:24", height: math.unit(sorted[0][2] / 24, "meters") }); entity.sizes.push({ name: "1:16", height: math.unit(sorted[0][2] / 16, "meters") }); entity.sizes.push({ name: "1:8", height: math.unit(sorted[0][2] / 8, "meters") }); entity.sizes.push({ name: "1:4", height: math.unit(sorted[0][2] / 4, "meters") }); entity.sizes.push({ name: "1", height: math.unit(sorted[0][2], "meters") }); return entity; } function makeCars() { const options = [ ["Toyota Prius C", 3.99, 1.45, 1134, 1, 1.07, 1], ["VW New Beetle", 4.13, 1.57, 1230, 1, 1, 1], ["Honda Civic", 4.55, 1.42, 1303, 1, 1, 1], ["Lamborghini Aventador", 4.78, 1.136, 1575, 1, 1, 1], ["Ford F-150", 5.89, 1.92, 1950, 1, 1, 1] ] sides = {} const sorted = options.sort((a, b) => a[1] - b[1]) sorted.forEach(car => { sides[car[0] + " (Front)"] = { name: car[0] + " (Front)", rename: true, height: math.unit(car[2], "meters"), mass: math.unit(car[3], "kg"), image: { source: "./media/vehicles/cars/car_" + car[0].replace(/ /g, "-").toLowerCase() + "-front.svg", extra: car[4] } }; sides[car[0] + " (Side)"] = { name: car[0] + " (Side)", rename: true, height: math.unit(car[2], "meters"), mass: math.unit(car[3], "kg"), image: { source: "./media/vehicles/cars/car_" + car[0].replace(/ /g, "-").toLowerCase() + "-side.svg", extra: car[5] } }; sides[car[0] + " (Top)"] = { name: car[0] + " (Top)", rename: true, height: math.unit(car[1], "meters"), mass: math.unit(car[3], "kg"), image: { source: "./media/vehicles/cars/car_" + car[0].replace(/ /g, "-").toLowerCase() + "-top.svg", extra: car[6] } }; }); const entity = makeMultiVehicle("Cars", sides); entity.sizes.push({ name: "1:72", height: math.unit(sorted[0][2] / 72, "meters") }); entity.sizes.push({ name: "1:24", height: math.unit(sorted[0][2] / 24, "meters") }); entity.sizes.push({ name: "1:16", height: math.unit(sorted[0][2] / 16, "meters") }); entity.sizes.push({ name: "1:8", height: math.unit(sorted[0][2] / 8, "meters") }); entity.sizes.push({ name: "1:4", height: math.unit(sorted[0][2] / 4, "meters") }); entity.sizes.push({ name: "1", height: math.unit(sorted[0][2], "meters") }); return entity; } function makeBuses() { const options = [ ["City Bus", 11.95, 2.99, 14000, 1, 1, 1], ["Articulated Bus", 18, 3.13, 25000, 1, 1, 1], ["Coach Bus", 12, 3.81, 18000, 1, 1, 1], ["Shuttle Bus", 7.01, 2.67, 6000, 1, 1, 1], ] sides = {} options.forEach(bus => { sides[bus[0] + " (Front)"] = { name: bus[0] + " (Front)", rename: true, height: math.unit(bus[2], "meters"), mass: math.unit(bus[3], "kg"), image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-front.svg", extra: bus[4] } }; sides[bus[0] + " (Side)"] = { name: bus[0] + " (Side)", rename: true, height: math.unit(bus[2], "meters"), mass: math.unit(bus[3], "kg"), image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-side.svg", extra: bus[5] } }; sides[bus[0] + " (Top)"] = { name: bus[0] + " (Top)", rename: true, height: math.unit(bus[1], "meters"), mass: math.unit(bus[3], "kg"), image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-top.svg", extra: bus[6] } }; }); const entity = makeMultiVehicle("Buses", sides); entity.sizes.push({ name: "1:72", height: math.unit(options[0][2] / 72, "meters") }); entity.sizes.push({ name: "1:24", height: math.unit(options[0][2] / 24, "meters") }); entity.sizes.push({ name: "1:16", height: math.unit(options[0][2] / 16, "meters") }); entity.sizes.push({ name: "1:8", height: math.unit(options[0][2] / 8, "meters") }); entity.sizes.push({ name: "1:4", height: math.unit(options[0][2] / 4, "meters") }); entity.sizes.push({ name: "1", height: math.unit(options[0][2], "meters") }); return entity; } // TODO this should be named something more generic and put in objects.js function makeVehicleGroup(info, name, prefix, directory="vehicles") { sides = {} let defaultHeight; info.forEach(vehicle => { Object.entries(vehicle.sides).forEach(([sideName, data]) => { if (!defaultHeight) { defaultHeight = data.height; } sides[vehicle.name + " (" + sideName + ")"] = { name: vehicle.name + " (" + sideName + ")", rename: true, height: data.height, mass: vehicle.mass, 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) } }; }); }); const entity = makeMultiVehicle(name, sides); entity.sizes.push({ name: "1:72", height: math.unit(math.divide(defaultHeight, 72)) }); entity.sizes.push({ name: "1:24", height: math.unit(math.divide(defaultHeight, 24)) }); entity.sizes.push({ name: "1:16", height: math.unit(math.divide(defaultHeight, 16)) }); entity.sizes.push({ name: "1:8", height: math.unit(math.divide(defaultHeight, 8)) }); entity.sizes.push({ name: "1:4", height: math.unit(math.divide(defaultHeight, 4)) }); return entity; } function makeAutoVehicleGroup(info, name, directory = "vehicles") { sides = {} let defaultHeight; info.forEach(vehicle => { Object.entries(vehicle.sides).forEach(([sideName, data]) => { if (!defaultHeight) { defaultHeight = data.height; } sides[vehicle.name + " (" + sideName + ")"] = { name: vehicle.name + " (" + sideName + ")", rename: true, height: data.height, image: { source: "./media/" + directory + "/" + name + "/" + vehicle.name + "-" + sideName + ".svg" } }; }); }); const entity = makeMultiVehicle(name, sides); if (directory == "vehicles") { entity.sizes.push({ name: "1:72", height: math.unit(math.divide(defaultHeight, 72)) }); entity.sizes.push({ name: "1:24", height: math.unit(math.divide(defaultHeight, 24)) }); entity.sizes.push({ name: "1:16", height: math.unit(math.divide(defaultHeight, 16)) }); entity.sizes.push({ name: "1:8", height: math.unit(math.divide(defaultHeight, 8)) }); entity.sizes.push({ name: "1:4", height: math.unit(math.divide(defaultHeight, 4)) }); } return entity; } function makeVehicles() { const results = []; results.push({ name: "Titanic", constructor: () => makeVehicle( "Titanic", { side: { name: "Side", height: math.unit(883 * 1114 / 4250, "feet"), image: { source: "./media/vehicles/titanic.svg" }, }, sideVertical: { name: "Side (Vertical)", height: math.unit(883, "feet"), image: { source: "./media/vehicles/vertical-titanic.svg" }, }, }, math.unit(52310, "tons") ) }); results.push({ name: "18-Wheeler", constructor: () => makeVehicle( "18-Wheeler", { side: { name: "Side", height: math.unit(13.6, "feet"), image: { source: "./media/vehicles/18-wheeler.svg" }, }, sideVertical: { name: "Side (Vertical)", height: math.unit(54, "feet"), image: { source: "./media/vehicles/18-wheeler-vertical.svg" }, }, }, math.unit(52310, "tons") ) }); results.push({ name: "Spacecraft", constructor: () => makeMultiVehicle( "Spacecraft", { "n-1": { name: "N-1", rename: true, height: math.unit(105, "meters"), mass: math.unit(95, "tons"), image: { source: "./media/vehicles/spacecraft/n-1.svg" } }, "saturn-v": { name: "Saturn V", rename: true, height: math.unit(110.6, "meters"), mass: math.unit(140, "tons"), image: { source: "./media/vehicles/spacecraft/saturn-v.svg" } }, "starship": { name: "Starship", rename: true, height: math.unit(118, "m"), mass: math.unit(150, "tons"), image: { source: "./media/vehicles/spacecraft/saturn-v.svg" } }, } ) }); results.push({ name: "Aircraft", constructor: () => makeAircraft() }); results.push({ name: "Cars", constructor: () => makeCars() }); results.push({ name: "Buses", constructor: () => makeBuses() }); results.push({ name: "Trains", constructor: () => makeVehicleGroup([ { name: "60' Boxcar", mass: math.unit(80900, "lbs"), sides: { "Side": { height: math.unit(17, "feet") }, "Front": { height: math.unit(17, "feet") } } }, { name: "64' Flatcar", mass: math.unit(66000, "lbs"), sides: { "Side": { height: math.unit(5.03, "feet") }, "Front": { height: math.unit(5.03, "feet") }, } }, { name: "3250 Cubic Ft Hopper", mass: math.unit(52000, "lbs"), sides: { "Side": { height: math.unit(15 + 3 / 12, "feet") }, "Front": { height: math.unit(15 + 3 / 12, "feet") }, } }, { name: "28600 Gallon Tank Car", mass: math.unit(93000, "lbs"), sides: { "Side": { height: math.unit(15 + 5.7 / 12, "feet") }, "Front": { height: math.unit(15 + 5.7 / 12, "feet") }, } } ], "Trains", "train") }); const dataWarships = [ { name: "Balao", sides: { "Side": { height: math.unit(13.346937056812138, "meters") }, "Front": { height: math.unit(13.346937056812138, "meters") }, "Top": { height: math.unit(95.35877787338985, "meters") }, } }, { name: "Bismarck", sides: { "Side": { height: math.unit(54.69636677864504, "meters") }, "Front": { height: math.unit(54.69636677864504, "meters") }, "Top": { height: math.unit(255.13670261140695, "meters") }, } }, { name: "Charleston", sides: { "Side": { height: math.unit(43.84541411294146, "meters") }, "Front": { height: math.unit(45.62719791691388, "meters") }, "Top": { height: math.unit(129.98356198199832, "meters") }, } }, { name: "Enterprise", sides: { "Side": { height: math.unit(48.51854022788899, "meters") }, "Front": { height: math.unit(48.51854022788899, "meters") }, "Top": { height: math.unit(253.1778795587282, "meters") }, } }, { name: "Erie", sides: { "Side": { height: math.unit(32.059378464959345, "meters") }, "Front": { height: math.unit(32.059378464959345, "meters") }, "Top": { height: math.unit(101.90240111970473, "meters") }, } }, { name: "Fusō", sides: { "Side": { height: math.unit(57.714804802509974, "meters") }, "Front": { height: math.unit(57.714804802509974, "meters") }, "Top": { height: math.unit(213.5157104361463, "meters") }, } }, { name: "Hood", sides: { "Side": { height: math.unit(51.230756762367264, "meters") }, "Front": { height: math.unit(51.230756762367264, "meters") }, "Top": { height: math.unit(263.41015261022113, "meters") }, } }, { name: "Hōshō", sides: { "Side": { height: math.unit(32.758064912151085, "meters") }, "Front": { height: math.unit(32.758064912151085, "meters") }, "Top": { height: math.unit(185.00137927141287, "meters") }, } }, { name: "Iowa", sides: { "Side": { height: math.unit(49.127098508478305, "meters") }, "Front": { height: math.unit(49.127098508478305, "meters") }, "Top": { height: math.unit(271.8477422138651, "meters") }, } }, { name: "König", sides: { "Side": { height: math.unit(45.404394789902064, "meters") }, "Front": { height: math.unit(45.72006845008677, "meters") }, "Top": { height: math.unit(178.61867938785338, "meters") }, } }, { name: "New Mexico", sides: { "Side": { height: math.unit(41.32890317041514, "meters") }, "Front": { height: math.unit(41.32890317041514, "meters") }, "Top": { height: math.unit(190.75114403153, "meters") }, } }, { name: "Shōkaku", sides: { "Side": { height: math.unit(41.67455523006811, "meters") }, "Front": { height: math.unit(41.67455523006811, "meters") }, "Top": { height: math.unit(260.7137969911492, "meters") }, } }, { name: "Texas", sides: { "Side": { height: math.unit(48.903111190282694, "meters") }, "Front": { height: math.unit(48.903111190282694, "meters") }, "Top": { height: math.unit(195.24415882424861, "meters") }, } }, { name: "U-2501", sides: { "Side": { height: math.unit(11.361271301409108, "meters") }, "Front": { height: math.unit(11.361271301409108, "meters") }, "Top": { height: math.unit(77.06816292937421, "meters") }, } }, { name: "Yamato", sides: { "Side": { height: math.unit(49.20849004806329, "meters") }, "Front": { height: math.unit(49.20849004806329, "meters") }, "Top": { height: math.unit(265.94789907523005, "meters") }, } } ]; results.push({ name: "Warships", constructor: () => makeAutoVehicleGroup(dataWarships, "Warships") }); const dataEveOnline = [ { name: "Archon", sides: { "Side": { height: math.unit(447.54522705078125, "meters") }, "Front": { height: math.unit(447.54522705078125, "meters") }, "Top": { height: math.unit(3154.529052734375, "meters") }, } }, { name: "Avatar", sides: { "Side": { height: math.unit(6176.2001953125, "meters") }, "Front": { height: math.unit(6176.2001953125, "meters") }, "Top": { height: math.unit(13831.8583984375, "meters") }, } }, { name: "Capsule", sides: { "Side": { height: math.unit(2.4739999771118164, "meters") }, "Front": { height: math.unit(2.4739999771118164, "meters") }, "Top": { height: math.unit(3.822000026702881, "meters") }, } }, { name: "Chimera", sides: { "Side": { height: math.unit(475.55010986328125, "meters") }, "Front": { height: math.unit(475.55010986328125, "meters") }, "Top": { height: math.unit(2696.60009765625, "meters") }, } }, { name: "Erebus", sides: { "Side": { height: math.unit(4789.970703125, "meters") }, "Front": { height: math.unit(4789.970703125, "meters") }, "Top": { height: math.unit(14785.546875, "meters") }, } }, { name: "Ibis", sides: { "Side": { height: math.unit(29.632003784179688, "meters") }, "Front": { height: math.unit(29.632003784179688, "meters") }, "Top": { height: math.unit(64.61199951171875, "meters") }, } }, { name: "Impairor", sides: { "Side": { height: math.unit(13.158005714416504, "meters") }, "Front": { height: math.unit(13.158005714416504, "meters") }, "Top": { height: math.unit(53.68499755859375, "meters") }, } }, { name: "Leviathan", sides: { "Side": { height: math.unit(3544.030029296875, "meters") }, "Front": { height: math.unit(3544.030029296875, "meters") }, "Top": { height: math.unit(18055.015625, "meters") }, } }, { name: "Nidhoggur", sides: { "Side": { height: math.unit(263.20928955078125, "meters") }, "Front": { height: math.unit(263.20928955078125, "meters") }, "Top": { height: math.unit(2153.196044921875, "meters") }, } }, { name: "Ragnarok", sides: { "Side": { height: math.unit(3152.279541015625, "meters") }, "Front": { height: math.unit(3152.279541015625, "meters") }, "Top": { height: math.unit(18139.9765625, "meters") }, } }, { name: "Reaper", sides: { "Side": { height: math.unit(31.324996948242188, "meters") }, "Front": { height: math.unit(31.324996948242188, "meters") }, "Top": { height: math.unit(55.847999572753906, "meters") }, } }, { name: "Thanatos", sides: { "Side": { height: math.unit(296.2213134765625, "meters") }, "Front": { height: math.unit(296.2213134765625, "meters") }, "Top": { height: math.unit(2266.876953125, "meters") }, } }, { name: "Vanguard", sides: { "Side": { height: math.unit(296.2213134765625, "meters") }, "Front": { height: math.unit(296.2213134765625, "meters") }, "Top": { height: math.unit(2266.876953125, "meters") }, } }, { name: "Velator", sides: { "Side": { height: math.unit(38.00899887084961, "meters") }, "Front": { height: math.unit(38.00899887084961, "meters") }, "Top": { height: math.unit(35.28599548339844, "meters") }, } } ]; results.push({ name: "Eve Online", constructor: () => makeAutoVehicleGroup( dataEveOnline, "Eve Online") }); results.push(makeHeight( [ ["Oil Tanker", 75.8, "meters"], ["Container Ship", 78.8, "meters"], ["Bulk Carrier", 70.04, "meters"], ["Passenger Ship", 80.9, "meters"] ], "Ships", "", "vehicles", false )); results.push(makeModel({ "name": "Aircraft Cabins", "kind": "vehicles", "forms": [ { "name": "737", "views": [ { "name": "Cross Section", "height": 4.02691801469 } ] }, { "name": "777", "views": [ { "name": "Cross Section", "height": 6.19751351351 } ] } ] })) /* ***Tanks*** */ results.push(makeModel({"name": "Tanks", "kind": "vehicles", "trace_alpha": 0.25, "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}]}]})); /* ***Helicopters*** */ results.push(makeModel({"name": "Helicopters", "kind": "vehicles", "trace_alpha": 0.25, "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}]}]})); /* ***INSERT HERE*** */ return results; }