From 78593a67497efad10ce41f8b1c3af8113e0f3b68 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Sun, 24 Dec 2023 14:35:51 +0100 Subject: [PATCH] Improve default materials for fins and nose cone --- core/src/net/sf/openrocket/material/Material.java | 2 +- swing/src/net/sf/openrocket/gui/util/SwingPreferences.java | 7 ++++++- swing/src/net/sf/openrocket/startup/SwingStartup.java | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/material/Material.java b/core/src/net/sf/openrocket/material/Material.java index 2b42747cc..624394d7e 100644 --- a/core/src/net/sf/openrocket/material/Material.java +++ b/core/src/net/sf/openrocket/material/Material.java @@ -217,7 +217,7 @@ public abstract class Material implements Comparable { /** * Return a material defined by the provided string. * - * @param str the material storage string. + * @param str the material storage string, formatted as "{type}|{name}|{density}". * @param userDefined whether the created material is user-defined. * @return a new Material object. * @throws IllegalArgumentException if str is invalid or null. diff --git a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java index c4f830b2a..13c6636fd 100644 --- a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java +++ b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java @@ -21,11 +21,13 @@ import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; import net.sf.openrocket.communication.AssetHandler.UpdatePlatform; +import net.sf.openrocket.database.Databases; import net.sf.openrocket.rocketcomponent.BodyComponent; import net.sf.openrocket.rocketcomponent.FinSet; import net.sf.openrocket.rocketcomponent.InternalComponent; import net.sf.openrocket.rocketcomponent.LaunchLug; import net.sf.openrocket.rocketcomponent.MassObject; +import net.sf.openrocket.rocketcomponent.NoseCone; import net.sf.openrocket.rocketcomponent.ParallelStage; import net.sf.openrocket.rocketcomponent.PodSet; import net.sf.openrocket.rocketcomponent.RailButton; @@ -783,7 +785,10 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences impl //// Material storage - + public void loadDefaultComponentMaterials() { + setDefaultComponentMaterial(FinSet.class, Databases.findMaterial(Material.Type.BULK, "Balsa")); + setDefaultComponentMaterial(NoseCone.class, Databases.findMaterial(Material.Type.BULK, "Polystyrene")); + } /** * Add a user-defined material to the preferences. The preferences are diff --git a/swing/src/net/sf/openrocket/startup/SwingStartup.java b/swing/src/net/sf/openrocket/startup/SwingStartup.java index 35763cddc..00fdf5537 100644 --- a/swing/src/net/sf/openrocket/startup/SwingStartup.java +++ b/swing/src/net/sf/openrocket/startup/SwingStartup.java @@ -214,6 +214,7 @@ public class SwingStartup { // Load defaults ((SwingPreferences) Application.getPreferences()).loadDefaultUnits(); + ((SwingPreferences) Application.getPreferences()).loadDefaultComponentMaterials(); Databases.fakeMethod();