OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PresetBundle.cpp File Reference
#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

Class Documentation

◆ Slic3r::anonymous_namespace{PresetBundle.cpp}::BedAssetSlot

struct Slic3r::anonymous_namespace{PresetBundle.cpp}::BedAssetSlot
Class Members
const char * option
const char * stem

◆ Slic3r::anonymous_namespace{PresetBundle.cpp}::PendingBedAsset

struct Slic3r::anonymous_namespace{PresetBundle.cpp}::PendingBedAsset
Collaboration diagram for Slic3r::anonymous_namespace{PresetBundle.cpp}::PendingBedAsset:
Class Members
string dest
path final_path
string option
string printer_key
path staged
string zip_name

Macro Definition Documentation

◆ L