1 package net.sf.openrocket.utils;
3 import java.io.FileInputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.util.Arrays;
9 import net.sf.openrocket.file.GeneralMotorLoader;
10 import net.sf.openrocket.file.MotorLoader;
11 import net.sf.openrocket.motor.Motor;
12 import net.sf.openrocket.motor.ThrustCurveMotor;
14 public class MotorPrinter {
16 public static void main(String[] args) throws IOException {
18 MotorLoader loader = new GeneralMotorLoader();
21 for (String arg : args) {
22 InputStream stream = new FileInputStream(arg);
24 List<Motor> motors = loader.load(stream, arg);
26 System.out.println("*** " + arg + " ***");
28 for (Motor motor : motors) {
29 ThrustCurveMotor m = (ThrustCurveMotor) motor;
30 System.out.println(" Manufacturer: " + m.getManufacturer());
31 System.out.println(" Designation: " + m.getDesignation());
32 System.out.println(" Delays: " +
33 Arrays.toString(m.getStandardDelays()));
34 System.out.printf(" Nominal time: %.2f s\n", m.getBurnTimeEstimate());
35 // System.out.printf(" Total time: %.2f s\n", m.getTotalTime());
36 System.out.printf(" Avg. thrust: %.2f N\n", m.getAverageThrustEstimate());
37 System.out.printf(" Max. thrust: %.2f N\n", m.getMaxThrustEstimate());
38 System.out.printf(" Total impulse: %.2f Ns\n", m.getTotalImpulseEstimate());
39 System.out.println(" Diameter: " + m.getDiameter() * 1000 + " mm");
40 System.out.println(" Length: " + m.getLength() * 1000 + " mm");
41 // System.out.println(" Digest: " + m.getDigestString());
43 if (m instanceof ThrustCurveMotor) {
44 ThrustCurveMotor tc = (ThrustCurveMotor) m;
45 System.out.println(" Data points: " + tc.getTimePoints().length);
48 System.out.println(" Comment:");
49 System.out.println(m.getDescription());