create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / rocketcomponent / NoseCone.java
1 package net.sf.openrocket.rocketcomponent;
2
3 import net.sf.openrocket.l10n.Translator;
4 import net.sf.openrocket.preset.ComponentPreset;
5 import net.sf.openrocket.preset.ComponentPreset.Type;
6 import net.sf.openrocket.startup.Application;
7
8 /**
9  * Rocket nose cones of various types.  Implemented as a transition with the
10  * fore radius == 0.
11  *
12  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
13  */
14
15 public class NoseCone extends Transition {
16         private static final Translator trans = Application.getTranslator();
17         
18         
19         /********* Constructors **********/
20         public NoseCone() {
21                 this(Transition.Shape.OGIVE, 6 * DEFAULT_RADIUS, DEFAULT_RADIUS);
22         }
23         
24         public NoseCone(Transition.Shape type, double length, double radius) {
25                 super();
26                 super.setType(type);
27                 super.setForeRadiusAutomatic(false);
28                 super.setForeRadius(0);
29                 super.setForeShoulderLength(0);
30                 super.setForeShoulderRadius(0.9 * radius);
31                 super.setForeShoulderThickness(0);
32                 super.setForeShoulderCapped(filled);
33                 super.setThickness(0.002);
34                 super.setLength(length);
35                 super.setClipped(false);
36                 
37         }
38         
39         
40         /********** Get/set methods for component parameters **********/
41         
42         @Override
43         public double getForeRadius() {
44                 return 0;
45         }
46         
47         @Override
48         public void setForeRadius(double r) {
49                 // No-op
50         }
51         
52         @Override
53         public boolean isForeRadiusAutomatic() {
54                 return false;
55         }
56         
57         @Override
58         public void setForeRadiusAutomatic(boolean b) {
59                 // No-op
60         }
61         
62         @Override
63         public double getForeShoulderLength() {
64                 return 0;
65         }
66         
67         @Override
68         public double getForeShoulderRadius() {
69                 return 0;
70         }
71         
72         @Override
73         public double getForeShoulderThickness() {
74                 return 0;
75         }
76         
77         @Override
78         public boolean isForeShoulderCapped() {
79                 return false;
80         }
81         
82         @Override
83         public void setForeShoulderCapped(boolean capped) {
84                 // No-op
85         }
86         
87         @Override
88         public void setForeShoulderLength(double foreShoulderLength) {
89                 // No-op
90         }
91         
92         @Override
93         public void setForeShoulderRadius(double foreShoulderRadius) {
94                 // No-op
95         }
96         
97         @Override
98         public void setForeShoulderThickness(double foreShoulderThickness) {
99                 // No-op
100         }
101         
102         @Override
103         public boolean isClipped() {
104                 return false;
105         }
106         
107         @Override
108         public void setClipped(boolean b) {
109                 // No-op
110         }
111         
112         
113
114         /********** RocketComponent methods **********/
115         
116         @Override
117         public Type getPresetType() {
118                 return ComponentPreset.Type.NOSE_CONE;
119         }
120
121         @Override
122         protected void loadFromPreset(ComponentPreset preset) {
123                 
124                 //Many parameters are handled by the super class Transition.loadFromPreset
125                 super.loadFromPreset(preset);
126         }
127
128         /**
129          * Return component name.
130          */
131         @Override
132         public String getComponentName() {
133                 //// Nose cone
134                 return trans.get("NoseCone.NoseCone");
135         }
136         
137 }