diff --git a/core/src/net/sf/openrocket/rocketcomponent/CenteringRing.java b/core/src/net/sf/openrocket/rocketcomponent/CenteringRing.java index d7cf3eb81..be94964ec 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/CenteringRing.java +++ b/core/src/net/sf/openrocket/rocketcomponent/CenteringRing.java @@ -7,7 +7,7 @@ import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.Coordinate; -public class CenteringRing extends RadiusRingComponent implements LineInstanceable { +public class CenteringRing extends RadiusRingComponent { public CenteringRing() { setOuterRadiusAutomatic(true); @@ -17,11 +17,7 @@ public class CenteringRing extends RadiusRingComponent implements LineInstanceab private static final Translator trans = Application.getTranslator(); - protected int instanceCount = 1; - // front-front along the positive rocket axis. i.e. [1,0,0]; - protected double instanceSeparation = 0; - - + @Override public double getInnerRadius() { // Implement sibling inner radius automation @@ -82,42 +78,5 @@ public class CenteringRing extends RadiusRingComponent implements LineInstanceab return ComponentPreset.Type.CENTERING_RING; } - @Override - public double getInstanceSeparation(){ - return this.instanceSeparation; - } - - @Override - public void setInstanceSeparation(final double _separation){ - this.instanceSeparation = _separation; - } - - @Override - public void setInstanceCount( final int newCount ){ - if( 0 < newCount ){ - this.instanceCount = newCount; - } - } - - @Override - public Coordinate[] getInstanceOffsets(){ - Coordinate[] toReturn = new Coordinate[this.getInstanceCount()]; - for ( int index=0 ; index < this.getInstanceCount(); index++){ - toReturn[index] = this.position.setX( this.position.x + index*this.instanceSeparation ); - } - - return toReturn; - } - - - @Override - public int getInstanceCount(){ - return this.instanceCount; - } - - @Override - public String getPatternName(){ - return (this.getInstanceCount() + "-Line"); - } } diff --git a/core/src/net/sf/openrocket/rocketcomponent/RadiusRingComponent.java b/core/src/net/sf/openrocket/rocketcomponent/RadiusRingComponent.java index d077f5616..0c0da4d19 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/RadiusRingComponent.java +++ b/core/src/net/sf/openrocket/rocketcomponent/RadiusRingComponent.java @@ -9,11 +9,15 @@ import net.sf.openrocket.util.MathUtil; * * @author Sampo Niskanen */ -public abstract class RadiusRingComponent extends RingComponent implements Coaxial { +public abstract class RadiusRingComponent extends RingComponent implements Coaxial, LineInstanceable { protected double outerRadius = 0; protected double innerRadius = 0; + protected int instanceCount = 1; + // front-front along the positive rocket axis. i.e. [1,0,0]; + protected double instanceSeparation = 0; + @Override protected void loadFromPreset(ComponentPreset preset) { super.loadFromPreset(preset); @@ -96,4 +100,42 @@ public abstract class RadiusRingComponent extends RingComponent implements Coaxi setInnerRadius(outer - thickness); } + + @Override + public double getInstanceSeparation(){ + return this.instanceSeparation; + } + + @Override + public void setInstanceSeparation(final double _separation){ + this.instanceSeparation = _separation; + } + + @Override + public void setInstanceCount( final int newCount ){ + if( 0 < newCount ){ + this.instanceCount = newCount; + } + } + + @Override + public Coordinate[] getInstanceOffsets(){ + Coordinate[] toReturn = new Coordinate[this.getInstanceCount()]; + for ( int index=0 ; index < this.getInstanceCount(); index++){ + toReturn[index] = new Coordinate( index*this.instanceSeparation, 0, 0); + } + + return toReturn; + } + + + @Override + public int getInstanceCount(){ + return this.instanceCount; + } + + @Override + public String getPatternName(){ + return (this.getInstanceCount() + "-Line"); + } }