1 package net.sf.openrocket.file.rocksim.export;
3 import net.sf.openrocket.file.rocksim.RocksimCommonConstants;
4 import net.sf.openrocket.rocketcomponent.FreeformFinSet;
5 import net.sf.openrocket.util.Coordinate;
7 import javax.xml.bind.annotation.XmlAccessType;
8 import javax.xml.bind.annotation.XmlAccessorType;
9 import javax.xml.bind.annotation.XmlElement;
10 import javax.xml.bind.annotation.XmlRootElement;
14 @XmlRootElement(name = RocksimCommonConstants.CUSTOM_FIN_SET)
15 @XmlAccessorType(XmlAccessType.FIELD)
16 public class CustomFinSetDTO extends FinSetDTO {
18 @XmlElement(name = RocksimCommonConstants.POINT_LIST)
19 private String pointList = "";
22 * Default constructor.
24 public CustomFinSetDTO() {
28 * Copy constructor of sorts.
30 * @param ec a free form finset
32 public CustomFinSetDTO(FreeformFinSet ec) {
34 setPointList(convertFreeFormPoints(ec.getFinPoints()));
38 private String convertFreeFormPoints(Coordinate[] points) {
39 StringBuilder sb = new StringBuilder();
41 //Reverse the order for Rocksim
42 for (int i = points.length - 1; i >= 0; i--) {
43 Coordinate point = points[i];
44 sb.append(point.x * RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH).append(",")
45 .append(point.y * RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH).append("|");
50 public String getPointList() {
54 public void setPointList(String thePointList) {
55 pointList = thePointList;