From: kruland2607 Date: Fri, 20 Apr 2012 15:42:08 +0000 (+0000) Subject: Fix computation of density for BULK_HEADs by using a more general way to compute... X-Git-Tag: upstream/12.09^2~343 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=74cda79eb31401b7401aacf3eaba167857b50a10;p=debian%2Fopenrocket Fix computation of density for BULK_HEADs by using a more general way to compute the volume of a cylinder. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@577 180e2498-e6e9-4542-8430-84ac67f01cd8 --- diff --git a/core/src/net/sf/openrocket/preset/ComponentPresetFactory.java b/core/src/net/sf/openrocket/preset/ComponentPresetFactory.java index 5b5d9e90..5cf7f62e 100644 --- a/core/src/net/sf/openrocket/preset/ComponentPresetFactory.java +++ b/core/src/net/sf/openrocket/preset/ComponentPresetFactory.java @@ -152,7 +152,7 @@ public abstract class ComponentPresetFactory { // FIXME - Bulkhead.getComponentVolume does not exist! // double density = mass / tr.getComponentVolume(); - double volume = Math.pow(preset.get(OUTER_DIAMETER),2) * Math.PI / 4.0; + double volume = computeVolumeOfTube(preset); double density = mass / volume; String materialName = "BulkHeadCustom"; @@ -271,7 +271,7 @@ public abstract class ComponentPresetFactory { private static double computeVolumeOfTube(ComponentPreset preset) { double or = preset.get(OUTER_DIAMETER)/2.0; - double ir = preset.get(INNER_DIAMETER)/2.0; + double ir = preset.has(INNER_DIAMETER) ? preset.get(INNER_DIAMETER)/2.0 : 0.0; double l = preset.get(LENGTH); return Math.PI * (or*or - ir*ir) * l; }