1 package net.sf.openrocket.preset.loader;
5 import net.sf.openrocket.material.Material;
6 import net.sf.openrocket.preset.ComponentPreset;
7 import net.sf.openrocket.preset.ComponentPreset.Type;
8 import net.sf.openrocket.preset.TypedPropertyMap;
10 public class NoseConeLoader extends BaseComponentLoader {
12 public NoseConeLoader(Map<String, Material> materials) {
14 fileColumns.add(new DoubleUnitColumnParser("Outer Dia","Units",ComponentPreset.AFT_OUTER_DIAMETER));
15 fileColumns.add(new DoubleUnitColumnParser("Length","Units",ComponentPreset.LENGTH));
16 fileColumns.add(new DoubleUnitColumnParser("Insert Length","Units",ComponentPreset.AFT_SHOULDER_LENGTH));
17 fileColumns.add(new DoubleUnitColumnParser("Insert OD","Units",ComponentPreset.AFT_SHOULDER_DIAMETER));
18 fileColumns.add(new DoubleUnitColumnParser("Thickness","Units",ComponentPreset.THICKNESS));
19 fileColumns.add(new ShapeColumnParser() );
23 protected Type getComponentPresetType() {
24 return ComponentPreset.Type.NOSE_CONE;
28 protected RocksimComponentFileType getFileType() {
29 return RocksimComponentFileType.NOSE_CONE;
33 protected void postProcess(TypedPropertyMap props) {
35 if ( props.containsKey( ComponentPreset.THICKNESS )) {
36 double thickness = props.get(ComponentPreset.THICKNESS);
37 if ( thickness == 0d ) {
38 props.remove( ComponentPreset.THICKNESS );
39 props.put(ComponentPreset.FILLED, true);
42 super.postProcess(props);