From 477096975dd2f82b8e84aedfde57818cd9d4e835 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 27 Apr 2022 21:42:56 +0200 Subject: [PATCH] Include mass object auto radius in OR save/import --- .../openrocket/file/openrocket/importt/DocumentConfig.java | 4 +++- .../openrocket/file/openrocket/savers/MassObjectSaver.java | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java index 138456aa8..16f733ec9 100644 --- a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java +++ b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java @@ -369,7 +369,9 @@ class DocumentConfig { setters.put("MassObject:packedlength", new DoubleSetter( Reflection.findMethod(MassObject.class, "setLength", double.class))); setters.put("MassObject:packedradius", new DoubleSetter( - Reflection.findMethod(MassObject.class, "setRadius", double.class))); + Reflection.findMethod(MassObject.class, "setRadius", double.class), + "auto", " ", + Reflection.findMethod(MassObject.class, "setRadiusAutomatic", boolean.class))); setters.put("MassObject:radialposition", new DoubleSetter( Reflection.findMethod(MassObject.class, "setRadialPosition", double.class))); setters.put("MassObject:radialdirection", new DoubleSetter( diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/MassObjectSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/MassObjectSaver.java index 298cb2636..3cbf57605 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/MassObjectSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/MassObjectSaver.java @@ -14,7 +14,11 @@ public class MassObjectSaver extends InternalComponentSaver { MassObject mass = (MassObject) c; elements.add("" + mass.getLength() + ""); - elements.add("" + mass.getRadius() + ""); + if (mass.isRadiusAutomatic()) { + elements.add("auto " + mass.getRadius() + ""); + } else { + elements.add("" + mass.getRadius() + ""); + } elements.add("" + mass.getRadialPosition() + ""); elements.add("" + (mass.getRadialDirection() * 180.0 / Math.PI) + "");