X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fnet%2Fsf%2Fopenrocket%2Frocketcomponent%2FRingComponent.java;h=3d67940b6728650c99580d78af786ee142c47343;hb=0d0afe488300aca47d09ac7651f8185190afb21f;hp=7c8523b0063688a27a820f77edc03664f8b95bf1;hpb=720d4935bc6bec453e6478ad5227356c626610a2;p=debian%2Fopenrocket diff --git a/src/net/sf/openrocket/rocketcomponent/RingComponent.java b/src/net/sf/openrocket/rocketcomponent/RingComponent.java index 7c8523b0..3d67940b 100644 --- a/src/net/sf/openrocket/rocketcomponent/RingComponent.java +++ b/src/net/sf/openrocket/rocketcomponent/RingComponent.java @@ -132,6 +132,27 @@ public abstract class RingComponent extends StructuralComponent { fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } + + public double getRadialShiftY() { + return shiftY; + } + + public double getRadialShiftZ() { + return shiftZ; + } + + public void setRadialShift(double y, double z) { + radialPosition = Math.hypot(y, z); + radialDirection = Math.atan2(z, y); + + // Re-calculate to ensure consistency + shiftY = radialPosition * Math.cos(radialDirection); + shiftZ = radialPosition * Math.sin(radialDirection); + assert(MathUtil.equals(y, shiftY)); + assert(MathUtil.equals(z, shiftZ)); + + fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); + } /**