1 package net.sf.openrocket.rocketcomponent;
3 import net.sf.openrocket.l10n.Translator;
4 import net.sf.openrocket.startup.Application;
5 import net.sf.openrocket.util.MathUtil;
8 * This class represents a generic component that has a specific mass and an approximate shape.
9 * The mass is accessed via get/setComponentMass.
11 * @author Sampo Niskanen <sampo.niskanen@iki.fi>
13 public class MassComponent extends MassObject {
14 private static final Translator trans = Application.getTranslator();
16 private double mass = 0;
19 public MassComponent() {
23 public MassComponent(double length, double radius, double mass) {
24 super(length, radius);
30 public double getComponentMass() {
34 public void setComponentMass(double mass) {
35 mass = Math.max(mass, 0);
36 if (MathUtil.equals(this.mass, mass))
39 fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
44 public String getComponentName() {
46 return trans.get("MassComponent.MassComponent");
50 public boolean allowsChildren() {
55 public boolean isCompatible(Class<? extends RocketComponent> type) {
56 // Allow no components to be attached to a MassComponent