From b7608c37296f7b03c241e6abd564af0210d8f5bd Mon Sep 17 00:00:00 2001 From: Kevin Ruland Date: Fri, 20 Apr 2012 15:42:08 +0000 Subject: [PATCH] Fix computation of density for BULK_HEADs by using a more general way to compute the volume of a cylinder. --- core/src/net/sf/openrocket/preset/ComponentPresetFactory.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/preset/ComponentPresetFactory.java b/core/src/net/sf/openrocket/preset/ComponentPresetFactory.java index 5b5d9e903..5cf7f62e3 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; }