lose embedded source jars from upstream branch
[debian/openrocket] / core / src / net / sf / openrocket / rocketcomponent / MassComponent.java
1 package net.sf.openrocket.rocketcomponent;
2
3 import net.sf.openrocket.l10n.Translator;
4 import net.sf.openrocket.startup.Application;
5 import net.sf.openrocket.util.MathUtil;
6
7 /**
8  * This class represents a generic component that has a specific mass and an approximate shape.
9  * The mass is accessed via get/setComponentMass.
10  * 
11  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
12  */
13 public class MassComponent extends MassObject {
14         private static final Translator trans = Application.getTranslator();
15         
16         private double mass = 0;
17         
18         
19         public MassComponent() {
20                 super();
21         }
22         
23         public MassComponent(double length, double radius, double mass) {
24                 super(length, radius);
25                 this.mass = mass;
26         }
27         
28         
29         @Override
30         public double getComponentMass() {
31                 return mass;
32         }
33         
34         public void setComponentMass(double mass) {
35                 mass = Math.max(mass, 0);
36                 if (MathUtil.equals(this.mass, mass))
37                         return;
38                 this.mass = mass;
39                 fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
40         }
41         
42         
43         @Override
44         public String getComponentName() {
45                 //// Mass component
46                 return trans.get("MassComponent.MassComponent");
47         }
48         
49         @Override
50         public boolean allowsChildren() {
51                 return false;
52         }
53         
54         @Override
55         public boolean isCompatible(Class<? extends RocketComponent> type) {
56                 // Allow no components to be attached to a MassComponent
57                 return false;
58         }
59 }