import net.sf.openrocket.util.Coordinate;
public interface Motor {
-
+
/**
* Enum of rocket motor types.
*
* @author Sampo Niskanen <sampo.niskanen@iki.fi>
*/
public enum Type {
- SINGLE("Single-use", "Single-use solid propellant motor"),
- RELOAD("Reloadable", "Reloadable solid propellant motor"),
- HYBRID("Hybrid", "Hybrid rocket motor engine"),
+ SINGLE("Single-use", "Single-use solid propellant motor"),
+ RELOAD("Reloadable", "Reloadable solid propellant motor"),
+ HYBRID("Hybrid", "Hybrid rocket motor engine"),
UNKNOWN("Unknown", "Unknown motor type");
private final String name;
this.name = name;
this.description = description;
}
-
+
+
/**
* Return a short name of this motor type.
* @return a short name of the motor type.
*/
public static final double MARGINAL_THRUST = 0.05;
-
-
+
+
/**
* Return the motor type.
*
* @return the motorType
*/
public Type getMotorType();
-
-
+
+
/**
* Return the designation of the motor.
*
*/
public String getDesignation(double delay);
-
+
/**
* Return extra description for the motor. This may include for example
* comments on the source of the thrust curve. The returned <code>String</code>
* @return the diameter
*/
public double getDiameter();
-
+
/**
* Return the length of the motor. This should be a "characteristic" length,
* and the exact definition may depend on the motor type. Typically this should
*/
public double getLength();
-
+ public String getDigest();
+
public MotorInstance getInstance();
public Coordinate getLaunchCG();
+
public Coordinate getEmptyCG();
+ /**
+ * Return an estimate of the burn time of this motor, or NaN if an estimate is unavailable.
+ */
public double getBurnTimeEstimate();
+
+ /**
+ * Return an estimate of the average thrust of this motor, or NaN if an estimate is unavailable.
+ */
public double getAverageThrustEstimate();
+
+ /**
+ * Return an estimate of the maximum thrust of this motor, or NaN if an estimate is unavailable.
+ */
public double getMaxThrustEstimate();
- public double getTotalImpulseEstimate();
- public double[] getTimePoints();
- public double[] getThrustPoints();
- public Coordinate[] getCGPoints();
+ /**
+ * Return an estimate of the total impulse of this motor, or NaN if an estimate is unavailable.
+ */
+ public double getTotalImpulseEstimate();
}