]> git.gag.com Git - debian/openrocket/blobdiff - core/src/net/sf/openrocket/preset/loader/MaterialLoader.java
Implement MaterialHolder, a container for the Material objects loaded during processi...
[debian/openrocket] / core / src / net / sf / openrocket / preset / loader / MaterialLoader.java
index c8edaf6a9c3c264910f19322ff2229ee89af1464..5e3da79911a8ca75f27c64f39c498ddc95db5b0c 100644 (file)
@@ -10,7 +10,7 @@ import net.sf.openrocket.util.BugException;
 
 public class MaterialLoader extends RocksimComponentFileLoader {
 
-       private Map<String,Material> materialMap = new HashMap<String,Material>();
+       private MaterialHolder materialMap = new MaterialHolder();
        
        private final static TypedKey<String> MATERIALNAME = new TypedKey<String>("MaterialName", String.class);
        private final static TypedKey<String> UNITS = new TypedKey<String>("Units", String.class);
@@ -28,7 +28,7 @@ public class MaterialLoader extends RocksimComponentFileLoader {
                return RocksimComponentFileType.MATERIAL;
        }
 
-       public Map<String, Material> getMaterialMap() {
+       public MaterialHolder getMaterialMap() {
                return materialMap;
        }
 
@@ -41,19 +41,19 @@ public class MaterialLoader extends RocksimComponentFileLoader {
                String cleanedMaterialName = stripAll(name, '"').trim();
                
                if ( "g/cm".equals( unit ) ) {
-                       materialMap.put( cleanedMaterialName, new Material.Line(cleanedMaterialName, 0.1d * density, true));
+                       materialMap.put( new Material.Line(cleanedMaterialName, 0.1d * density, true));
                } else if ( "g/cm2".equals(unit) ) {
-                       materialMap.put( cleanedMaterialName, new Material.Surface(cleanedMaterialName, 10.0d * density, true));
+                       materialMap.put( new Material.Surface(cleanedMaterialName, 10.0d * density, true));
                } else if ( "g/cm3".equals(unit) ) {
-                       materialMap.put( cleanedMaterialName, new Material.Bulk(cleanedMaterialName, 1000.0d * density, true));
+                       materialMap.put( new Material.Bulk(cleanedMaterialName, 1000.0d * density, true));
                } else if ( "kg/m3".equals(unit) ) {
-                       materialMap.put( cleanedMaterialName, new Material.Bulk(cleanedMaterialName, density, true));
+                       materialMap.put( new Material.Bulk(cleanedMaterialName, density, true));
                } else if ( "lb/ft3".equals(unit) ) {
-                       materialMap.put( cleanedMaterialName, new Material.Bulk(cleanedMaterialName, 16.0184634d * density, true));
+                       materialMap.put( new Material.Bulk(cleanedMaterialName, 16.0184634d * density, true));
                } else if ( "oz/in".equals(unit) ) {
-                       materialMap.put( cleanedMaterialName, new Material.Line(cleanedMaterialName, 1.11612296d * density, true));
+                       materialMap.put( new Material.Line(cleanedMaterialName, 1.11612296d * density, true));
                } else if ( "oz/in2".equals(unit ) ) {
-                       materialMap.put( cleanedMaterialName, new Material.Surface(cleanedMaterialName, 43.94184876d * density, true));
+                       materialMap.put( new Material.Surface(cleanedMaterialName, 43.94184876d * density, true));
                } else {
                        throw new BugException("Unknown unit in Materials file: " + unit);
                }