diff --git a/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java b/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java index 4482c6f0c..3d023f66f 100644 --- a/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java +++ b/core/src/net/sf/openrocket/file/rasaero/RASAeroCommonConstants.java @@ -312,7 +312,7 @@ public class RASAeroCommonConstants { } } - public static String OPENROCKET_TO_RASAERO_FIN_CROSSSECTION(FinSet.CrossSection crossSection) { + public static String OPENROCKET_TO_RASAERO_FIN_CROSSSECTION(FinSet.CrossSection crossSection, WarningSet warnings) { if (FinSet.CrossSection.SQUARE.equals(crossSection)) { return CROSS_SECTION_SQUARE; } else if (FinSet.CrossSection.ROUNDED.equals(crossSection)) { @@ -320,7 +320,7 @@ public class RASAeroCommonConstants { } else if (FinSet.CrossSection.AIRFOIL.equals(crossSection)) { return CROSS_SECTION_SUBSONIC_NACA; } else { - //TODO: warnings.add("Unknown fin cross section: " + crossSection + "."); + warnings.add("Unknown fin cross section: " + crossSection + "."); return null; } } @@ -350,7 +350,7 @@ public class RASAeroCommonConstants { } } - public static String OPENROCKET_TO_RASAERO_SURFACE(ExternalComponent.Finish finish) { + public static String OPENROCKET_TO_RASAERO_SURFACE(ExternalComponent.Finish finish, WarningSet warnings) { if (finish.equals(ExternalComponent.Finish.MIRROR)) { return FINISH_SMOOTH; } else if (finish.equals(ExternalComponent.Finish.FINISHPOLISHED)) { @@ -366,8 +366,7 @@ public class RASAeroCommonConstants { } else if (finish.equals(ExternalComponent.Finish.ROUGHUNFINISHED)) { return FINISH_CAST_IRON; } else { - // TODO - //warnings.add("Unknown surface finish: " + finish + ", defaulting to Smooth."); + warnings.add("Unknown surface finish: " + finish + ", defaulting to Smooth."); return FINISH_SMOOTH; } } diff --git a/core/src/net/sf/openrocket/file/rasaero/export/BodyTubeDTOAdapter.java b/core/src/net/sf/openrocket/file/rasaero/export/BodyTubeDTOAdapter.java index 392fc8fc6..cc7fd0181 100644 --- a/core/src/net/sf/openrocket/file/rasaero/export/BodyTubeDTOAdapter.java +++ b/core/src/net/sf/openrocket/file/rasaero/export/BodyTubeDTOAdapter.java @@ -16,7 +16,7 @@ public interface BodyTubeDTOAdapter { default void applyBodyTubeSettings(BodyTube bodyTube, WarningSet warnings, ErrorSet errors) throws RASAeroExportException { for (RocketComponent child : bodyTube.getChildren()) { if (child instanceof TrapezoidFinSet) { - setFin(new FinDTO((TrapezoidFinSet) child)); + setFin(new FinDTO((TrapezoidFinSet) child, warnings, errors)); } else if (child instanceof LaunchLug) { if (!MathUtil.equals(getRailGuideDiameter(), 0) || !MathUtil.equals(getRailGuideHeight(), 0)) { // only one check on diameter or length should be sufficient, but just to be safe warnings.add(String.format("Already added a rail button, ignoring launch lug '%s'.", child.getName())); diff --git a/core/src/net/sf/openrocket/file/rasaero/export/BoosterDTO.java b/core/src/net/sf/openrocket/file/rasaero/export/BoosterDTO.java index ba216c561..40ecd1837 100644 --- a/core/src/net/sf/openrocket/file/rasaero/export/BoosterDTO.java +++ b/core/src/net/sf/openrocket/file/rasaero/export/BoosterDTO.java @@ -165,7 +165,7 @@ public class BoosterDTO implements BodyTubeDTOAdapter { String.format("Body tube '%s' in stage '%s' must have a TrapezoidFinSet.", firstTube.getName(), stage.getName())); } - setFin(new FinDTO(finSet)); + setFin(new FinDTO(finSet, warnings, errors)); setPartType(RASAeroCommonConstants.BOOSTER); setLength(firstTube.getLength() * RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH); diff --git a/core/src/net/sf/openrocket/file/rasaero/export/FinDTO.java b/core/src/net/sf/openrocket/file/rasaero/export/FinDTO.java index 8d65764a4..37113017c 100644 --- a/core/src/net/sf/openrocket/file/rasaero/export/FinDTO.java +++ b/core/src/net/sf/openrocket/file/rasaero/export/FinDTO.java @@ -2,6 +2,8 @@ package net.sf.openrocket.file.rasaero.export; import net.sf.openrocket.file.rasaero.CustomDoubleAdapter; import net.sf.openrocket.file.rasaero.RASAeroCommonConstants; +import net.sf.openrocket.logging.ErrorSet; +import net.sf.openrocket.logging.WarningSet; import net.sf.openrocket.rocketcomponent.TrapezoidFinSet; import net.sf.openrocket.rocketcomponent.position.AxialMethod; import net.sf.openrocket.file.rasaero.export.RASAeroSaver.RASAeroExportException; @@ -53,7 +55,7 @@ public class FinDTO { public FinDTO() { } - public FinDTO(TrapezoidFinSet fin) throws RASAeroExportException { + public FinDTO(TrapezoidFinSet fin, WarningSet warnings, ErrorSet errors) throws RASAeroExportException { int finCount = fin.getFinCount(); if (finCount < 3 || finCount > 8) { throw new RASAeroExportException( @@ -66,7 +68,7 @@ public class FinDTO { setSpan(fin.getSpan() * RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH); setSweepDistance(fin.getSweep() * RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH); setThickness(fin.getThickness() * RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH); - setAirfoilSection(RASAeroCommonConstants.OPENROCKET_TO_RASAERO_FIN_CROSSSECTION(fin.getCrossSection())); + setAirfoilSection(RASAeroCommonConstants.OPENROCKET_TO_RASAERO_FIN_CROSSSECTION(fin.getCrossSection(), warnings)); setLocation((-fin.getAxialOffset(AxialMethod.BOTTOM) + fin.getLength()) * RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH); } diff --git a/core/src/net/sf/openrocket/file/rasaero/export/RocketDesignDTO.java b/core/src/net/sf/openrocket/file/rasaero/export/RocketDesignDTO.java index 8097e96d7..e92d2dc70 100644 --- a/core/src/net/sf/openrocket/file/rasaero/export/RocketDesignDTO.java +++ b/core/src/net/sf/openrocket/file/rasaero/export/RocketDesignDTO.java @@ -97,7 +97,8 @@ public class RocketDesignDTO { } addExternalPart(new NoseConeDTO((NoseCone) component, warnings, errors)); // Set the global surface finish to that of the first nose cone - setSurface(RASAeroCommonConstants.OPENROCKET_TO_RASAERO_SURFACE(((NoseCone) component).getFinish())); + setSurface(RASAeroCommonConstants.OPENROCKET_TO_RASAERO_SURFACE(((NoseCone) component).getFinish(), + warnings)); } else if (component instanceof Transition) { addExternalPart(new TransitionDTO((Transition) component, warnings, errors)); }