create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / file / openrocket / savers / FinSetSaver.java
1 package net.sf.openrocket.file.openrocket.savers;
2
3 import java.util.List;
4 import java.util.Locale;
5
6 import net.sf.openrocket.util.MathUtil;
7
8 public class FinSetSaver extends ExternalComponentSaver {
9         
10         @Override
11         protected void addParams(net.sf.openrocket.rocketcomponent.RocketComponent c, List<String> elements) {
12                 super.addParams(c, elements);
13                 
14                 net.sf.openrocket.rocketcomponent.FinSet fins = (net.sf.openrocket.rocketcomponent.FinSet) c;
15                 elements.add("<fincount>" + fins.getFinCount() + "</fincount>");
16                 elements.add("<rotation>" + (fins.getBaseRotation() * 180.0 / Math.PI) + "</rotation>");
17                 elements.add("<thickness>" + fins.getThickness() + "</thickness>");
18                 elements.add("<crosssection>" + fins.getCrossSection().name().toLowerCase(Locale.ENGLISH)
19                                 + "</crosssection>");
20                 elements.add("<cant>" + (fins.getCantAngle() * 180.0 / Math.PI) + "</cant>");
21                 
22                 // Save fin tabs only if they exist (compatibility with file version < 1.1)
23                 if (!MathUtil.equals(fins.getTabHeight(), 0) &&
24                                 !MathUtil.equals(fins.getTabLength(), 0)) {
25                         
26                         elements.add("<tabheight>" + fins.getTabHeight() + "</tabheight>");
27                         elements.add("<tablength>" + fins.getTabLength() + "</tablength>");
28                         elements.add("<tabposition relativeto=\"" +
29                                         fins.getTabRelativePosition().name().toLowerCase(Locale.ENGLISH) + "\">" +
30                                         fins.getTabShift() + "</tabposition>");
31                         
32                 }
33         }
34         
35 }