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 m: motors) {
29 System.out.println(" Manufacturer: " + m.getManufacturer());
30 System.out.println(" Designation: " + m.getDesignation());
31 System.out.println(" Delays: " +
32 Arrays.toString(m.getStandardDelays()));
33 System.out.printf(" Nominal time: %.2f s\n", m.getAverageTime());
34 System.out.printf(" Total time: %.2f s\n", m.getTotalTime());
35 System.out.printf(" Avg. thrust: %.2f N\n", m.getAverageThrust());
36 System.out.printf(" Max. thrust: %.2f N\n", m.getMaxThrust());
37 System.out.printf(" Total impulse: %.2f Ns\n", m.getTotalImpulse());
38 System.out.println(" Diameter: " + m.getDiameter()*1000 + " mm");
39 System.out.println(" Length: " + m.getLength()*1000 + " mm");
41 if (m instanceof ThrustCurveMotor) {
42 ThrustCurveMotor tc = (ThrustCurveMotor)m;
43 System.out.println(" Data points: " + tc.getTimePoints().length);
46 System.out.println(" Comment:");
47 System.out.println(m.getDescription());