package net.sf.openrocket.rocketcomponent;
+import net.sf.openrocket.preset.ComponentPreset;
import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.MathUtil;
protected double outerRadius = 0;
protected double thickness = 0;
-
+ @Override
+ protected void loadFromPreset(ComponentPreset preset) {
+ if ( preset.has(ComponentPreset.OUTER_DIAMETER) ) {
+ this.outerRadiusAutomatic = false;
+ this.innerRadiusAutomatic = false;
+ double outerDiameter = preset.get(ComponentPreset.OUTER_DIAMETER);
+ this.outerRadius = outerDiameter/2.0;
+ if ( preset.has(ComponentPreset.INNER_DIAMETER) ) {
+ double innerDiameter = preset.get(ComponentPreset.INNER_DIAMETER);
+ this.thickness = (outerDiameter-innerDiameter) / 2.0;
+ }
+ }
+ super.loadFromPreset(preset);
+
+ fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
+
+ }
+
@Override
public double getOuterRadius() {
if (isOuterRadiusAutomatic() && getParent() instanceof RadialParent) {
if (thickness > outerRadius)
thickness = outerRadius;
+ clearPreset();
+
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}
this.thickness = thickness;
+ clearPreset();
+
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}