diff --git a/src/libslic3r/TextureMapping.cpp b/src/libslic3r/TextureMapping.cpp index 74eff63020a..ecd2c6cf678 100644 --- a/src/libslic3r/TextureMapping.cpp +++ b/src/libslic3r/TextureMapping.cpp @@ -19,6 +19,7 @@ namespace Slic3r { const bool TextureMappingZone::ShowExperimentalTopSurfaceContoningOptions = false; +const bool TextureMappingZone::ShowAllTopSurfaceContoningInfillModes = false; namespace { diff --git a/src/libslic3r/TextureMapping.hpp b/src/libslic3r/TextureMapping.hpp index acde2bbaebb..490f5784826 100644 --- a/src/libslic3r/TextureMapping.hpp +++ b/src/libslic3r/TextureMapping.hpp @@ -230,7 +230,7 @@ struct TextureMappingZone static constexpr bool DefaultTopSurfaceContoningRecolorSurroundingPerimeters = false; static constexpr int DefaultTopSurfaceContoningPerimeterMode = int(ContoningPerimeterDividedLine); static constexpr int DefaultTopSurfaceContoningFlatSurfaceInfillMode = int(ContoningFlatSurfaceInfillDefault); - static constexpr int SlicerDefaultTopSurfaceContoningFlatSurfaceInfillMode = int(ContoningFlatSurfaceInfillBoundarySkinVariable); + static constexpr int SlicerDefaultTopSurfaceContoningFlatSurfaceInfillMode = int(ContoningFlatSurfaceInfillBoundarySkinVariableOverlap); static constexpr bool DefaultTopSurfaceContoningLayerPhaseEnabled = false; static constexpr bool DefaultTopSurfaceContoningVariedInfillAnglesEnabled = true; static constexpr bool DefaultTopSurfaceContoningBlueNoiseErrorDiffusionEnabled = false; @@ -279,6 +279,7 @@ struct TextureMappingZone static constexpr bool DefaultPreviewSimulateTopSurfaceLod = true; static constexpr bool DefaultAutoAdjustFilamentSelection = true; static const bool ShowExperimentalTopSurfaceContoningOptions; + static const bool ShowAllTopSurfaceContoningInfillModes; static constexpr int default_modulation_mode_for_surface_pattern(int surface_pattern) { @@ -309,12 +310,11 @@ struct TextureMappingZone const int clamped_mode = std::clamp(mode, int(ContoningFlatSurfaceInfillDefault), int(ContoningFlatSurfaceInfillBoundarySkinVariableOverlap)); - if (ShowExperimentalTopSurfaceContoningOptions) + if (ShowExperimentalTopSurfaceContoningOptions || ShowAllTopSurfaceContoningInfillModes) return clamped_mode; return clamped_mode == int(ContoningFlatSurfaceInfillRectilinear) || clamped_mode == int(ContoningFlatSurfaceInfillBoundarySkinVariable) || - clamped_mode == int(ContoningFlatSurfaceInfillBoundarySkinVariableOverlap) || - clamped_mode == int(ContoningFlatSurfaceInfillAdaptiveLines) ? + clamped_mode == int(ContoningFlatSurfaceInfillBoundarySkinVariableOverlap) ? clamped_mode : DefaultTopSurfaceContoningFlatSurfaceInfillMode; } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 0be6df432df..c1cbadcd8a8 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3297,22 +3297,26 @@ public: contoning_flat_infill_choices.Add(label); m_top_surface_contoning_flat_surface_infill_modes.push_back(mode); }; - add_contoning_flat_infill_choice(_L("Default (Boundary Skin - variable width)"), + const bool show_all_contoning_flat_infill_modes = + TextureMappingZone::ShowExperimentalTopSurfaceContoningOptions || + TextureMappingZone::ShowAllTopSurfaceContoningInfillModes; + add_contoning_flat_infill_choice(_L("Default (Boundary Skin - variable, more overlap)"), int(TextureMappingZone::ContoningFlatSurfaceInfillDefault)); add_contoning_flat_infill_choice(_L("Rectilinear (faster to print, may leave small holes)"), int(TextureMappingZone::ContoningFlatSurfaceInfillRectilinear)); - if (TextureMappingZone::ShowExperimentalTopSurfaceContoningOptions) + if (show_all_contoning_flat_infill_modes) add_contoning_flat_infill_choice(_L("Rectilinear with repair"), int(TextureMappingZone::ContoningFlatSurfaceInfillRectilinearWithRepair)); - add_contoning_flat_infill_choice(_L("Adaptive Lines"), - int(TextureMappingZone::ContoningFlatSurfaceInfillAdaptiveLines)); - if (!TextureMappingZone::ShowExperimentalTopSurfaceContoningOptions) + if (show_all_contoning_flat_infill_modes) + add_contoning_flat_infill_choice(_L("Adaptive Lines"), + int(TextureMappingZone::ContoningFlatSurfaceInfillAdaptiveLines)); + if (!show_all_contoning_flat_infill_modes) add_contoning_flat_infill_choice(_L("Boundary Skin (variable width)"), int(TextureMappingZone::ContoningFlatSurfaceInfillBoundarySkinVariable)); - if (!TextureMappingZone::ShowExperimentalTopSurfaceContoningOptions) + if (!show_all_contoning_flat_infill_modes) add_contoning_flat_infill_choice(_L("Boundary Skin (variable width, more overlap)"), int(TextureMappingZone::ContoningFlatSurfaceInfillBoundarySkinVariableOverlap)); - if (TextureMappingZone::ShowExperimentalTopSurfaceContoningOptions) { + if (show_all_contoning_flat_infill_modes) { add_contoning_flat_infill_choice(_L("Concentric"), int(TextureMappingZone::ContoningFlatSurfaceInfillConcentric)); add_contoning_flat_infill_choice(_L("Boundary Skin (fixed width)"),