{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-mpm-debugging/src/mpm-debugger/src/floom/material.js"],"names":["Material","materialIndex","colorScale","d3","scale","linear","domain","setColor","getColor","particleMass","restDensity","stiffness","bulkViscosity","surfaceTension","elasticity","maxDeformation","meltRate","shearViscosity","viscosity","damping","wallFriction","wallAttraction","smoothing","isElastic","springK","yieldPoint","yieldRate","index","materialColors","length","prototype","color","range","rgb","brighter","setParticleMass","setRestDensity","setStiffness","setBulkViscosity","setSurfaceTension","setElasticity","setMaxDeformation","setMeltRate","setShearViscosity","setViscosity","setDamping","setWallFrictiong","setWallAttraction","setSmoothing","setIsElastic","setSpringK","setYieldPoint","setYieldRate"],"mappings":"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","file":"material.js","sourcesContent":["\tvar Material = function(materialIndex) {\n\t\tthis.colorScale = d3.scale.linear()\n\t\t\t.domain([0,5]);\n\t\tthis.setColor(Material.getColor(materialIndex));\n\n\t\tthis.materialIndex = materialIndex;\n\t\tthis.particleMass = 1;\n\t\tthis.restDensity = 1;\n\t\tthis.stiffness = 1;\n\t\tthis.bulkViscosity = 1 ;\n\t\tthis.surfaceTension = 0.2;\n\t\tthis.elasticity = 0.05;\n\t\tthis.maxDeformation = 0;\n\t\tthis.meltRate = 0;\n\t\tthis.shearViscosity = 0;\n\t\tthis.viscosity = 0.02;\n\t\tthis.damping = 0.1;\n\t\tthis.wallFriction = 0;\n\t\tthis.wallAttraction = 1;\n\t\tthis.smoothing = 1;\n\t\tthis.isElastic = false;\n\t\tthis.springK = 0.3;\n\t\t\n\t\tthis.yieldPoint = 0;\n\t\tthis.yieldRate = 1;\n\t};\n\n\t// debug colors\n\tMaterial.getColor = function(index) {\n\t\tvar materialColors = [\n\t        '#1f78b4',\n\t        '#e31a1c',\n\t        '#fdbf6f',\n\t        '#b2df8a',\n\t\t\t'#fb9a99',\n\t        '#ff7f00',\n\t\t\t'#33a02c',\n\t        '#cab2d6',\n\t        '#6a3d9a',\n\t        '#ffff99',\n\t        '#b15928'\n\t    ];\n\t\t\n\t\treturn materialColors[index % materialColors.length];\n\t};\n\n\t// Property setters\n\tMaterial.prototype.setColor = function(color) {\n\t\tthis.color = color;\n\t\tthis.colorScale.range([this.color, d3.rgb(this.color).brighter(3)]);\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setParticleMass = function(particleMass) {\n\t\tthis.particleMass = particleMass;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setRestDensity = function(restDensity) {\n\t\tthis.restDensity = restDensity;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setStiffness = function(stiffness) {\n\t\tthis.stiffness = stiffness;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setBulkViscosity  = function(bulkViscosity) {\n\t\tthis.bulkViscosity = bulkViscosity ;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setSurfaceTension  = function(surfaceTension) {\n\t\tthis.surfaceTension = surfaceTension ;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setElasticity = function(elasticity) {\n\t\tthis.elasticity = elasticity;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setMaxDeformation = function(maxDeformation) {\n\t\tthis.maxDeformation = maxDeformation;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setMeltRate = function(meltRate) {\n\t\tthis.meltRate = meltRate;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setShearViscosity = function(shearViscosity) {\n\t\tthis.shearViscosity = shearViscosity;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setViscosity = function(viscosity) {\n\t\tthis.viscosity = viscosity;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setDamping = function(damping) {\n\t\tthis.damping = damping;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setWallFrictiong = function(wallFriction) {\n\t\tthis.wallFriction = wallFriction;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setWallAttraction = function(wallAttraction) {\n\t\tthis.wallAttraction = wallAttraction;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setSmoothing = function(smoothing) {\n\t\tthis.smoothing = smoothing;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setIsElastic = function(isElastic) {\n\t\tthis.isElastic = isElastic;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setSpringK = function(springK) {\n\t\tthis.springK = springK;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setYieldPoint = function(yieldPoint) {\n\t\tthis.yieldPoint = yieldPoint;\n\t\t\n\t\treturn this;\n\t};\n\n\tMaterial.prototype.setYieldRate = function(yieldRate) {\n\t\tthis.yieldRate = yieldRate;\n\t\t\n\t\treturn this;\n\t};\n\n\texport default Material;\n"]}