package net.sf.openrocket.file.openrocket.savers;
import java.util.List;
import java.util.Locale;
import net.sf.openrocket.util.MathUtil;
public class FinSetSaver extends ExternalComponentSaver {
@Override
protected void addParams(net.sf.openrocket.rocketcomponent.RocketComponent c, List<String> elements) {
super.addParams(c, elements);
net.sf.openrocket.rocketcomponent.FinSet fins = (net.sf.openrocket.rocketcomponent.FinSet) c;
elements.add("<fincount>" + fins.getFinCount() + "</fincount>");
elements.add("<rotation>" + (fins.getBaseRotation() * 180.0 / Math.PI) + "</rotation>");
elements.add("<thickness>" + fins.getThickness() + "</thickness>");
elements.add("<crosssection>" + fins.getCrossSection().name().toLowerCase(Locale.ENGLISH)
+ "</crosssection>");
elements.add("<cant>" + (fins.getCantAngle() * 180.0 / Math.PI) + "</cant>");
// Save fin tabs only if they exist (compatibility with file version < 1.1)
if (!MathUtil.equals(fins.getTabHeight(), 0) &&
!MathUtil.equals(fins.getTabLength(), 0)) {
elements.add("<tabheight>" + fins.getTabHeight() + "</tabheight>");
elements.add("<tablength>" + fins.getTabLength() + "</tablength>");
elements.add("<tabposition relativeto=\"" +
fins.getTabRelativePosition().name().toLowerCase(Locale.ENGLISH) + "\">" +
fins.getTabShift() + "</tabposition>");
}
elements.add("<filletradius>" + fins.getFilletRadius() + "</filletradius>");
elements.add(materialParam("filletmaterial", fins.getFilletMaterial()));
}
}