create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / rocketcomponent / Coaxial.java
1 /*
2  * Coaxial.java
3  */
4 package net.sf.openrocket.rocketcomponent;
5
6 /**
7  * This interface defines the API for components that are axially
8  * symmetric.  It differs from RadialParent in that RadialParent applies
9  * to axially symmetric components whose radius varies with position, while
10  * this interface is for components that have a constant radius over it's length.
11  */
12 public interface Coaxial {
13
14     /**
15      * Get the length of the radius of the inside dimension, in standard units.
16      * 
17      * @return the inner radius
18      */
19     double getInnerRadius();
20
21     /**
22      * Set the length of the radius of the inside dimension, in standard units.
23      * 
24      * @param v  the length of the inner radius
25      */
26     void setInnerRadius(double v);
27     
28     /**
29      * Get the length of the radius of the outside dimension, in standard units.
30      * 
31      * @return the outer radius
32      */
33     double getOuterRadius();
34     
35     /**
36      * Set the length of the radius of the outside dimension, in standard units.
37      * 
38      * @param v  the length of the outer radius
39      */
40     void setOuterRadius(double v);
41
42     /**
43      * Get the wall thickness of the component.  Typically this is just
44      * the outer radius - inner radius.
45      * 
46      * @return  the thickness of the wall
47      */
48     double getThickness();
49     
50 }