#include <array>#include <atomic>#include <boost/filesystem/path.hpp>#include <boost/filesystem/operations.hpp>#include <boost/filesystem/directory.hpp>#include <boost/filesystem/file_status.hpp>#include <boost/uuid/uuid.hpp>#include <boost/optional/optional.hpp>#include <boost/algorithm/string/split.hpp>#include <boost/algorithm/string/classification.hpp>#include <boost/lexical_cast.hpp>#include <boost/algorithm/string/join.hpp>#include <boost/algorithm/string/case_conv.hpp>#include <boost/algorithm/string/replace.hpp>#include <boost/algorithm/string/trim.hpp>#include <cassert>#include <cctype>#include <chrono>#include <cstdio>#include <cstdint>#include <cmath>#include <ctime>#include <ios>#include <optional>#include <exception>#include <memory>#include <initializer_list>#include <map>#include <iterator>#include <functional>#include <limits>#include <sstream>#include "PresetBundle.hpp"#include "PrinterBedAssets.hpp"#include "Config.hpp"#include "Exception.hpp"#include "AppConfig.hpp"#include "ParallelResolve.hpp"#include "Preset.hpp"#include "PresetCacheFormat.hpp"#include "Time.hpp"#include "Zipper.hpp"#include "PrintConfig.hpp"#include "PublishSettings.hpp"#include "FilamentMixer.hpp"#include "Semver.hpp"#include "libslic3r.h"#include "I18N.hpp"#include "Utils.hpp"#include "InstanceLock.hpp"#include "LocalesUtils.hpp"#include "Model.hpp"#include "TriangleSelector.hpp"#include "libslic3r_version.h"#include <algorithm>#include <cstdlib>#include <mutex>#include <numeric>#include <set>#include <shared_mutex>#include <fstream>#include <string>#include <tuple>#include <stdexcept>#include <unordered_map>#include <system_error>#include <unordered_set>#include <boost/filesystem.hpp>#include <boost/algorithm/clamp.hpp>#include <boost/algorithm/string/predicate.hpp>#include <boost/range/adaptor/transformed.hpp>#include <boost/nowide/convert.hpp>#include <boost/nowide/cstdio.hpp>#include <boost/nowide/fstream.hpp>#include <boost/property_tree/ini_parser.hpp>#include <boost/property_tree/ptree.hpp>#include <boost/locale.hpp>#include <boost/log/trivial.hpp>#include <boost/uuid/uuid_generators.hpp>#include <boost/uuid/uuid_io.hpp>#include <miniz/miniz.h>#include <tbb/blocked_range.h>#include <tbb/parallel_for.h>#include <tbb/task_group.h>#include <tbb/partitioner.h>#include <vector>#include <utility>#include <nlohmann/json.hpp>Go to the source code of this file.
Classes | |
| struct | Slic3r::anonymous_namespace{PresetBundle.cpp}::BedAssetSlot |
| struct | Slic3r::anonymous_namespace{PresetBundle.cpp}::PendingBedAsset |
Namespaces | |
| namespace | Slic3r |
| |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/ | |
| namespace | Slic3r::anonymous_namespace{PresetBundle.cpp} |
Macros | |
| #define | L(s) |
Functions | |
| static std::map< std::string, std::vector< std::string > > | Slic3r::legacy_compatible_printers () |
| static void | Slic3r::copy_dir (const boost::filesystem::path &from_dir, const boost::filesystem::path &to_dir) |
| static void | Slic3r::load_bundle_presets (PresetBundle &bundle, const std::string &bundle_dir, BundleMetadata &metadata, const PresetOrigin &origin, PresetsConfigSubstitutions &substitutions, ForwardCompatibilitySubstitutionRule substitution_rule, bool read_only=false) |
| static bool | Slic3r::is_single_path_component (const std::string &value) |
| static bool | Slic3r::check_local_bundle (PresetBundleMetadata &bundles, const fs::path &user_dir, const std::string &bundle_id, BundleMetadata &metadata, std::string &error) |
| std::string | Slic3r::anonymous_namespace{PresetBundle.cpp}::zip_slashes (std::string name) |
| bool | Slic3r::anonymous_namespace{PresetBundle.cpp}::bed_extension_allowed (const char *option, const std::string &ext) |
| std::string | Slic3r::anonymous_namespace{PresetBundle.cpp}::bed_asset_extension (const std::string &path, const char *option) |
| bool | Slic3r::anonymous_namespace{PresetBundle.cpp}::utf8_is_file (const std::string &path) |
| std::string | Slic3r::anonymous_namespace{PresetBundle.cpp}::bed_asset_dest_utf8 (const fs::path &dest) |
| bool | Slic3r::anonymous_namespace{PresetBundle.cpp}::accepted_bed_zip_name (const std::string &raw, const BedAssetSlot &slot, const fs::path &bundle_dir, std::string &zip_name, std::string &folder) |
| std::vector< PendingBedAsset > | Slic3r::anonymous_namespace{PresetBundle.cpp}::pending_bed_assets (const json &bundle_json, const fs::path &bundle_dir, std::unordered_set< std::string > &skip_names, const std::unordered_set< std::string > &zip_entries) |
| bool | Slic3r::anonymous_namespace{PresetBundle.cpp}::stage_bed_asset (mz_zip_archive &zip, PendingBedAsset &asset, const fs::path &temp_folder) |
| bool | Slic3r::anonymous_namespace{PresetBundle.cpp}::install_bed_asset (const PendingBedAsset &asset) |
| bool | Slic3r::anonymous_namespace{PresetBundle.cpp}::is_pending_bed_asset_entry (const std::string &entry, const std::unordered_set< std::string > &names) |
| bool | Slic3r::anonymous_namespace{PresetBundle.cpp}::printer_kept_bed_paths (const PresetCollection &printers, const std::map< std::string, std::string > &paths) |
| bool | Slic3r::append_printer_bed_assets (mz_zip_archive &zip, const DynamicPrintConfig &config, json &bundle_structure, const std::string &printer_config_entry, int printer_index) |
| static std::string | Slic3r::remove_ini_suffix (const std::string &name) |
| static void | Slic3r::load_mixed_filament_settings (DynamicPrintConfig &project_config, AppConfig &config, const std::string &printer_name, size_t n_filaments, bool fallback_to_global) |
| static void | Slic3r::warn_ambiguous_filament_id_match (const PresetCollection &filaments, PresetCollection::ConstIterator match, const std::string &filament_id) |
| static void | Slic3r::apply_mixed_config_relocations (DynamicPrintConfig &config, const std::string &key, const std::vector< std::pair< size_t, size_t > > &moves) |
| static void | Slic3r::apply_receiver_mix_relocations (DynamicPrintConfig &config, std::vector< std::vector< std::string > > &ams_multi_color_filment, const std::vector< std::pair< size_t, size_t > > &moves) |
| static ConfigurationError | Slic3r::failed_loading_error (const std::string &file, const std::string &dir) |
| static void | Slic3r::normalize_compatible_field (Preset &preset, const char *field_key, PresetCollection &target) |
| static std::string | Slic3r::preset_file_uri (const std::string &file) |
Variables | |
| static std::vector< std::string > | Slic3r::s_project_options |
| static std::vector< std::string > | Slic3r::s_project_options_published {"wipe_tower_x", "wipe_tower_y", "wipe_tower_rotation_angle"} |
| constexpr BedAssetSlot | Slic3r::anonymous_namespace{PresetBundle.cpp}::k_bed_asset_slots [] |
| static std::set< std::string > | Slic3r::gcodes_key_set |
| const std::set< std::string > | Slic3r::ignore_settings_list |
| static std::map< std::string, std::map< std::string, std::string > > | Slic3r::filament_preset_convert |
| struct Slic3r::anonymous_namespace{PresetBundle.cpp}::BedAssetSlot |
| struct Slic3r::anonymous_namespace{PresetBundle.cpp}::PendingBedAsset |