From 226bb2e87c76d93a11c5e810632b8a4cf72e4ad0 Mon Sep 17 00:00:00 2001 From: Bill Kuker Date: Mon, 8 Nov 2010 15:00:31 +0000 Subject: [PATCH] Add editable intergrain spacing --- .../rocketry/motorsim/grain/MultiGrain.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/com/billkuker/rocketry/motorsim/grain/MultiGrain.java b/src/com/billkuker/rocketry/motorsim/grain/MultiGrain.java index 7d836d5..8966bf2 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/MultiGrain.java +++ b/src/com/billkuker/rocketry/motorsim/grain/MultiGrain.java @@ -51,6 +51,8 @@ public class MultiGrain implements Grain, Grain.Composite, PropertyChangeListene private double flush = 1; private Amount delay = Amount.valueOf(0, SI.MILLIMETER); + private Amount spacing = Amount.valueOf(5, SI.MILLIMETER); + public MultiGrain(){ } @@ -59,6 +61,14 @@ public class MultiGrain implements Grain, Grain.Composite, PropertyChangeListene setGrain(g); } + public Amount getSpacing() { + return spacing; + } + + public void setSpacing(Amount spacing) { + this.spacing = spacing; + } + private Amount getAdjustedRegression(Amount regression, int grain){ return regression.minus(delay.times(grain)).times(Math.pow(flush,grain)); } @@ -95,7 +105,7 @@ public class MultiGrain implements Grain, Grain.Composite, PropertyChangeListene for ( int i = 0 ; i < count ; i++ ){ java.awt.geom.Area g = grain.getSideView(getAdjustedRegression(regression, i)); ret.add(g); - ret.transform(AffineTransform.getTranslateInstance(0, -(unburntBounds.getHeight() + 10))); + ret.transform(AffineTransform.getTranslateInstance(0, -(unburntBounds.getHeight() + spacing.doubleValue(SI.MILLIMETER)))); } return ret; } -- 2.47.2