package net.sf.openrocket.preset.loader; import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.preset.ComponentPreset.Type; import net.sf.openrocket.preset.TypedPropertyMap; import java.io.File; public class NoseConeLoader extends BaseComponentLoader { public NoseConeLoader(MaterialHolder materials, File theBasePath) { super(materials, theBasePath); fileColumns.add(new DoubleUnitColumnParser("Outer Dia","Units",ComponentPreset.AFT_OUTER_DIAMETER)); fileColumns.add(new DoubleUnitColumnParser("Length","Units",ComponentPreset.LENGTH)); fileColumns.add(new DoubleUnitColumnParser("Insert Length","Units",ComponentPreset.AFT_SHOULDER_LENGTH)); fileColumns.add(new DoubleUnitColumnParser("Insert OD","Units",ComponentPreset.AFT_SHOULDER_DIAMETER)); fileColumns.add(new DoubleUnitColumnParser("Thickness","Units",ComponentPreset.THICKNESS)); fileColumns.add(new ShapeColumnParser() ); } @Override protected Type getComponentPresetType() { return ComponentPreset.Type.NOSE_CONE; } @Override protected RocksimComponentFileType getFileType() { return RocksimComponentFileType.NOSE_CONE; } @Override protected void postProcess(TypedPropertyMap props) { if ( props.containsKey( ComponentPreset.THICKNESS )) { double thickness = props.get(ComponentPreset.THICKNESS); if ( thickness == 0d ) { props.remove( ComponentPreset.THICKNESS ); props.put(ComponentPreset.FILLED, true); } } super.postProcess(props); } }