{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-mpm-debugging/src/mpm-debugger/src/floom/group.js"],"names":["Particle","Spring","Material","Group","system","minX","minY","maxX","maxY","u","v","material","map","i","length","j","p","addParticle","isElastic","push","springs","position","distance"],"mappings":"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","file":"group.js","sourcesContent":["import Particle from \"./particle.js\";\nimport Spring from \"./spring.js\";\nimport Material from \"./material.js\";\n\n\tvar Group = function(system, minX, minY, maxX, maxY, u, v, material) {\n\t\tthis.material = material;\n\t\t\n\t\tvar map = [];\n\t\tfor (var i = minX; i < maxX; i++) {\n\t\t\tmap[map.length] = [];\n\t        for (var j = minY; j < maxY; j++) {\n\t        \tvar p = new Particle(i, j, u, v, material);\n\t        \tsystem.addParticle(p);\n\t        \tif(material.isElastic) {\n\t        \t\tmap[map.length-1].push(p);\n\t        \t}\n\t        }\n\t\t}\n    \tif(material.isElastic) {\n    \t\tfor(var i = 0; i < map.length; i++) {\n    \t\t\tfor(var j = 1; j < map[0].length; j++) {\n        \t\t\tsystem.springs.push(new Spring(map[i][j-1], map[i][j], map[i][j-1].position.distance(map[i][j].position)));\n    \t\t\t}\n    \t\t}\n    \t\tfor(var j = 0; j < map[0].length; j++) {\n    \t\t\tfor(var i = 1; i < map.length; i++) {\n        \t\t\tsystem.springs.push(new Spring(map[i-1][j], map[i][j], map[i-1][j].position.distance(map[i][j].position)));\n    \t\t\t}\n    \t\t}\n    \t\tfor(var i = 1; i < map.length; i++) {\n    \t\t\tfor(var j = 1; j < map[0].length; j++) {\n        \t\t\tsystem.springs.push(new Spring(map[i-1][j-1], map[i][j], map[i-1][j-1].position.distance(map[i][j].position)));\n    \t\t\t}\n    \t\t}\n    \t\tfor(var i = 0; i < map.length - 1; i++) {\n    \t\t\tfor(var j = 1; j < map[0].length; j++) {\n        \t\t\tsystem.springs.push(new Spring(map[i+1][j-1], map[i][j], map[i+1][j-1].position.distance(map[i][j].position)));\n    \t\t\t}\n    \t\t}\n    \t}\n\t};\n\t\n\texport default Group;\n"]}