X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Frocketcomponent%2FMassComponent.java;fp=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Frocketcomponent%2FMassComponent.java;h=81e5a63d820cb07ec637541cec69d0eafc0f0150;hb=9349577cdfdff682b2aabd6daa24fdc3a7449b58;hp=49c139b0bbf1a06416e0c1bf36463f2b4cac45e1;hpb=30ba0a882f0c061176ba14dbf86d3d6fad096c02;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java b/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java index 49c139b0..81e5a63d 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java +++ b/core/src/net/sf/openrocket/rocketcomponent/MassComponent.java @@ -40,6 +40,27 @@ public class MassComponent extends MassObject { } + public double getDensity() { + double d = getComponentMass() / getVolume(); + if (Double.isNaN(d)) + d = 0; + return d; + } + + public void setDensity(double density) { + double m = density * getVolume(); + m = MathUtil.clamp(m, 0, 1000000); + if (Double.isNaN(m)) + m = 0; + setComponentMass(m); + } + + + private double getVolume() { + return Math.PI * MathUtil.pow2(getRadius()) * getLength(); + } + + @Override public String getComponentName() { //// Mass component