1 package net.sf.openrocket.file.rocksim.export;
3 import net.sf.openrocket.file.rocksim.importt.RocksimHandler;
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 = "CustomFinSet")
15 @XmlAccessorType(XmlAccessType.FIELD)
16 public class CustomFinSetDTO extends FinSetDTO {
18 @XmlElement(name = "PointList")
19 private String pointList = "";
21 public CustomFinSetDTO() {
24 public CustomFinSetDTO(FreeformFinSet ec) {
26 setPointList(convertFreeFormPoints(ec.getFinPoints()));
30 private String convertFreeFormPoints(Coordinate[] points) {
31 StringBuilder sb = new StringBuilder();
33 //Reverse the order for Rocksim
34 for (int i = points.length - 1; i >= 0; i--) {
35 Coordinate point = points[i];
36 sb.append(point.x * RocksimHandler.ROCKSIM_TO_OPENROCKET_LENGTH).append(",")
37 .append(point.y * RocksimHandler.ROCKSIM_TO_OPENROCKET_LENGTH).append("|");
42 public String getPointList() {
46 public void setPointList(String thePointList) {
47 pointList = thePointList;