Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / core / src / net / sf / openrocket / rocketcomponent / MassComponent.java
index 49c139b0bbf1a06416e0c1bf36463f2b4cac45e1..81e5a63d820cb07ec637541cec69d0eafc0f0150 100644 (file)
@@ -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