package net.sf.openrocket.preset.loader;
-import java.util.Collections;
-import java.util.Map;
-
import net.sf.openrocket.material.Material;
import net.sf.openrocket.preset.TypedKey;
import net.sf.openrocket.preset.TypedPropertyMap;
Material.Line myMaterial = new Material.Line(columnData, 0.0, true);
- myMaterial = materialMap.getLineMaterial(myMaterial);
- props.put(param, myMaterial);
+ Material.Line m = materialMap.getLineMaterial(myMaterial);
+ props.put(param, m!=null? m : myMaterial);
}
package net.sf.openrocket.preset.loader;
-import java.util.Collections;
-import java.util.Map;
-
import net.sf.openrocket.material.Material;
import net.sf.openrocket.preset.ComponentPreset;
import net.sf.openrocket.preset.TypedKey;
return;
}
- Material.Bulk m = new Material.Bulk(columnData, 0.0, true);
- m = materialMap.getBulkMaterial(m);
- props.put(param, m);
+ Material.Bulk tmpMaterial = new Material.Bulk(columnData, 0.0, true);
+ Material.Bulk m = materialMap.getBulkMaterial(tmpMaterial);
+ props.put(param, m!= null ? m : tmpMaterial);
}
}
}
+ public Material getMaterial ( Material material ) {
+ switch ( material.getType() ) {
+ case BULK:
+ return getBulkMaterial( (Material.Bulk)material );
+ case SURFACE:
+ return getSurfaceMaterial( (Material.Surface) material, null );
+ case LINE:
+ return getLineMaterial( (Material.Line) material );
+ default:
+ return null;
+ }
+ }
+
public Material.Bulk getBulkMaterial( Material.Bulk material ) {
Material.Bulk m = bulkMaterials.get( material.getName() );
- return (m==null) ? material : m;
+ return m;
}
public Material.Surface getSurfaceMaterial( Material.Surface material, Double thickness ) {
// Try to see if we can convert a bulk material.
if ( thickness == null ) {
// if we have no thickness, there is nothing we can do
- return material;
+ return null;
}
String thicknessName = UnitGroup.UNITS_LENGTH.getUnit("mm").toString(thickness);
String convertedMaterialName = material.getName() + "(" + thicknessName + ")";
Material.Bulk bulk = bulkMaterials.get(material.getName() );
if ( bulk == null ) {
- return material;
+ return null;
}
// Ok, now we have a thickness and a bulk material of the correct name,
public Material.Line getLineMaterial( Material.Line material ) {
Material.Line m = lineMaterials.get( material.getName() );
- return (m==null) ? material : m;
+ return m;
}
public int size() {
}
- public Database<Material> asDatabase(Material.Type theType) {
- Database<Material> result = new Database<Material>();
- switch (theType) {
- case LINE:
- result.addAll(lineMaterials.values());
- break;
- case SURFACE:
- result.addAll(surfaceMaterials.values());
- break;
- case BULK:
- default:
- result.addAll(bulkMaterials.values());
- }
- return result;
- }
+ public Database<Material> asDatabase(Material.Type theType) {
+ Database<Material> result = new Database<Material>();
+ switch (theType) {
+ case LINE:
+ result.addAll(lineMaterials.values());
+ break;
+ case SURFACE:
+ result.addAll(surfaceMaterials.values());
+ break;
+ case BULK:
+ default:
+ result.addAll(bulkMaterials.values());
+ }
+ return result;
+ }
}
// Fix the material since some files use bulk materials for streamers.
Double thickness = props.get( ComponentPreset.THICKNESS );
- Material.Surface material = (Material.Surface) props.get( ComponentPreset.MATERIAL );
+ Material.Surface myMaterial = (Material.Surface) props.get( ComponentPreset.MATERIAL );
- material = materials.getSurfaceMaterial(material, thickness);
- props.put(ComponentPreset.MATERIAL, material);
+ Material.Surface m = materials.getSurfaceMaterial(myMaterial, thickness);
+ props.put(ComponentPreset.MATERIAL, m!=null ? m : myMaterial);
}
}
// Fix the material since some files use bulk materials for streamers.
Double thickness = props.get( ComponentPreset.THICKNESS );
- Material.Surface material = (Material.Surface) props.get( ComponentPreset.MATERIAL );
+ Material.Surface myMaterial = (Material.Surface) props.get( ComponentPreset.MATERIAL );
- material = materials.getSurfaceMaterial(material, thickness);
+ Material.Surface m = materials.getSurfaceMaterial(myMaterial, thickness);
- props.put(ComponentPreset.MATERIAL, material);
+ props.put(ComponentPreset.MATERIAL, m!=null? m : myMaterial);
}
}
}
Material.Surface myMaterial = new Material.Surface(columnData, 0.0, true);
- myMaterial = materialMap.getSurfaceMaterial(myMaterial, null);
- props.put(param, myMaterial);
+ Material.Surface m = materialMap.getSurfaceMaterial(myMaterial, null);
+ props.put(param, m!=null ? m : myMaterial);
}