Fix max slider value of thickness
This commit is contained in:
parent
b9dcc908b6
commit
d400947e1f
@ -7,8 +7,6 @@ import java.util.Collection;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.sf.openrocket.preset.ComponentPreset;
|
import net.sf.openrocket.preset.ComponentPreset;
|
||||||
import net.sf.openrocket.rocketcomponent.PodSet;
|
|
||||||
import net.sf.openrocket.rocketcomponent.position.AxialMethod;
|
|
||||||
import net.sf.openrocket.util.BoundingBox;
|
import net.sf.openrocket.util.BoundingBox;
|
||||||
import net.sf.openrocket.util.Coordinate;
|
import net.sf.openrocket.util.Coordinate;
|
||||||
import net.sf.openrocket.util.MathUtil;
|
import net.sf.openrocket.util.MathUtil;
|
||||||
@ -95,6 +93,12 @@ public abstract class SymmetricComponent extends BodyComponent implements BoxBou
|
|||||||
return getInnerRadius(x);
|
return getInnerRadius(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the largest radius of the component (either the aft radius, or the fore radius).
|
||||||
|
*/
|
||||||
|
public double getMaxRadius() {
|
||||||
|
return MathUtil.max(getForeRadius(), getAftRadius());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -120,7 +124,7 @@ public abstract class SymmetricComponent extends BodyComponent implements BoxBou
|
|||||||
|
|
||||||
if ((this.thickness == thickness) && !filled)
|
if ((this.thickness == thickness) && !filled)
|
||||||
return;
|
return;
|
||||||
this.thickness = doClamping ? MathUtil.clamp(thickness, 0, Math.max(getForeRadius(), getAftRadius())) : thickness;
|
this.thickness = doClamping ? MathUtil.clamp(thickness, 0, getMaxRadius()) : thickness;
|
||||||
filled = false;
|
filled = false;
|
||||||
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
|
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
|
||||||
clearPreset();
|
clearPreset();
|
||||||
|
@ -230,7 +230,6 @@ public class Transition extends SymmetricComponent implements InsideColorCompone
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//// Radius automatics
|
//// Radius automatics
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -133,7 +133,9 @@ public class NoseConeConfig extends RocketComponentConfig {
|
|||||||
order.add(((SpinnerEditor) thicknessSpinner.getEditor()).getTextField());
|
order.add(((SpinnerEditor) thicknessSpinner.getEditor()).getTextField());
|
||||||
|
|
||||||
panel.add(new UnitSelector(thicknessModel), "growx");
|
panel.add(new UnitSelector(thicknessModel), "growx");
|
||||||
panel.add(new BasicSlider(thicknessModel.getSliderModel(0, 0.01)), "w 100lp, wrap 0px");
|
panel.add(new BasicSlider(thicknessModel.getSliderModel(0,
|
||||||
|
new DoubleModel(component, "MaxRadius", UnitGroup.UNITS_LENGTH))),
|
||||||
|
"w 100lp, wrap 0px");
|
||||||
|
|
||||||
|
|
||||||
final JCheckBox filledCheckbox = new JCheckBox(new BooleanModel(component, "Filled"));
|
final JCheckBox filledCheckbox = new JCheckBox(new BooleanModel(component, "Filled"));
|
||||||
|
@ -170,7 +170,9 @@ public class TransitionConfig extends RocketComponentConfig {
|
|||||||
order.add(((SpinnerEditor) thicknessSpinner.getEditor()).getTextField());
|
order.add(((SpinnerEditor) thicknessSpinner.getEditor()).getTextField());
|
||||||
|
|
||||||
panel.add(new UnitSelector(thicknessModel), "growx");
|
panel.add(new UnitSelector(thicknessModel), "growx");
|
||||||
panel.add(new BasicSlider(thicknessModel.getSliderModel(0, 0.01)), "w 100lp, wrap 0px");
|
panel.add(new BasicSlider(thicknessModel.getSliderModel(0,
|
||||||
|
new DoubleModel(component, "MaxRadius", UnitGroup.UNITS_LENGTH))),
|
||||||
|
"w 100lp, wrap 0px");
|
||||||
|
|
||||||
//// Filled
|
//// Filled
|
||||||
final JCheckBox thicknessCheckbox = new JCheckBox(new BooleanModel(component, "Filled"));
|
final JCheckBox thicknessCheckbox = new JCheckBox(new BooleanModel(component, "Filled"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user