X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fmaterial%2FMaterial.java;h=f8fe76a855425a17133d94450dd76bd2dec477af;hb=4d97d149b0ef11eac895be021600613d3f152ad9;hp=f52acf51df97664c53e6425bac569f306188eda2;hpb=4da92a4e994992a78d62a7ca21c88d6c41292d6f;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/material/Material.java b/core/src/net/sf/openrocket/material/Material.java index f52acf51..f8fe76a8 100644 --- a/core/src/net/sf/openrocket/material/Material.java +++ b/core/src/net/sf/openrocket/material/Material.java @@ -30,7 +30,7 @@ public abstract class Material implements Comparable { private final UnitGroup units; private Type(String name, UnitGroup units) { - this.name = name; + this.name = trans.get ("Databases.materials.types." + name); this.units = units; } @@ -215,6 +215,26 @@ public abstract class Material implements Comparable { } } + /** + * Return a new user defined material of the specified type and localizable key. + */ + public static Material newUserMaterialWithKey(Type type, String key, String name, double density) { + switch (type) { + case LINE: + return new Material.Line(name, key, density, true); + + case SURFACE: + return new Material.Surface(name, key, density, true); + + case BULK: + return new Material.Bulk(name, key, density, true); + + default: + throw new IllegalArgumentException("Unknown material type: " + type); + } + } + + public String toStorableString() { return getType().name() + "|" + key + "|" + name.replace('|', ' ') + '|' + density;