From 74cda79eb31401b7401aacf3eaba167857b50a10 Mon Sep 17 00:00:00 2001 From: kruland2607 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. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@577 180e2498-e6e9-4542-8430-84ac67f01cd8 --- 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 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; } -- 2.47.2