OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
utils.cpp File Reference
#include "Utils.hpp"
#include "Exception.hpp"
#include "I18N.hpp"
#include <atomic>
#include <boost/smart_ptr/shared_ptr.hpp>
#include <boost/log/sinks/sync_frontend.hpp>
#include <boost/log/keywords/severity.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/exception.hpp>
#include <cstdio>
#include <boost/log/keywords/file_name.hpp>
#include <boost/log/keywords/rotation_size.hpp>
#include <boost/log/keywords/format.hpp>
#include <boost/log/expressions/formatters/stream.hpp>
#include <boost/log/expressions/attr.hpp>
#include <boost/log/expressions/formatters/date_time.hpp>
#include <boost/date_time/posix_time/ptime.hpp>
#include <boost/log/attributes/current_thread_id.hpp>
#include <boost/log/expressions/message.hpp>
#include <boost/log/keywords/auto_flush.hpp>
#include <initializer_list>
#include <boost/filesystem/file_status.hpp>
#include <cstdint>
#include <boost/filesystem/directory.hpp>
#include <fstream>
#include <iosfwd>
#include <cstring>
#include <cassert>
#include <boost/locale/conversion.hpp>
#include <iterator>
#include <functional>
#include <exception>
#include <locale>
#include <ctime>
#include <cstdarg>
#include <iostream>
#include <map>
#include <openssl/md5.h>
#include <set>
#include <stdio.h>
#include <filesystem>
#include <sstream>
#include <cerrno>
#include <mutex>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <system_error>
#include <string_view>
#include <vector>
#include <regex>
#include "Semver.hpp"
#include "format.hpp"
#include "Platform.hpp"
#include "libslic3r.h"
#include "Preset.hpp"
#include "PresetCacheFormat.hpp"
#include "libslic3r_version.h"
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/resource.h>
#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/sinks/async_frontend.hpp>
#include <boost/log/sinks/text_file_backend.hpp>
#include <boost/log/sinks/text_ostream_backend.hpp>
#include <boost/log/utility/setup/file.hpp>
#include <boost/log/utility/setup/common_attributes.hpp>
#include <boost/log/sources/severity_logger.hpp>
#include <boost/log/sources/record_ostream.hpp>
#include <boost/log/support/date_time.hpp>
#include <boost/core/null_deleter.hpp>
#include <boost/locale.hpp>
#include <boost/make_shared.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/nowide/fstream.hpp>
#include <boost/nowide/convert.hpp>
#include <boost/nowide/cstdio.hpp>
#include <tbb/tbb.h>
#include <string.h>
#include <tbb/version.h>
#include <tbb/task_scheduler_init.h>

Go to the source code of this file.

Classes

struct  Slic3r::RunOnInit

Namespaces

namespace  boost
namespace  boost::posix_time
namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::PerlUtils

Functions

static boost::log::trivial::severity_level Slic3r::level_to_boost (unsigned level)
void Slic3r::set_logging_level (unsigned int level)
void Slic3r::set_logging_file (const std::string &file)
unsigned int Slic3r::level_string_to_boost (std::string level)
std::string Slic3r::get_string_logging_level (unsigned level)
unsigned Slic3r::get_logging_level ()
void Slic3r::trace (unsigned int level, const char *message)
void Slic3r::disable_multi_threading ()
void Slic3r::set_var_dir (const std::string &dir)
const std::string & Slic3r::var_dir ()
std::string Slic3r::var (const std::string &file_name)
void Slic3r::set_resources_dir (const std::string &dir)
const std::string & Slic3r::resources_dir ()
void Slic3r::set_temporary_dir (const std::string &dir)
const std::string & Slic3r::temporary_dir ()
void Slic3r::set_local_dir (const std::string &dir)
const std::string & Slic3r::localization_dir ()
void Slic3r::set_sys_shapes_dir (const std::string &dir)
const std::string & Slic3r::sys_shapes_dir ()
void Slic3r::set_custom_gcodes_dir (const std::string &dir)
const std::string & Slic3r::custom_gcodes_dir ()
void Slic3r::set_data_dir (const std::string &dir)
const std::string & Slic3r::data_dir ()
std::string Slic3r::custom_shapes_dir ()
std::string Slic3r::handy_models_dir ()
static std::atomic< bool > Slic3r::debug_out_path_called (false)
std::string Slic3r::debug_out_path (const char *name,...)
void Slic3r::shutdown_console_logging ()
void Slic3r::set_log_path_and_level (const std::string &file, unsigned int level)
void Slic3r::flush_logs ()
boost::filesystem::path Slic3r::get_log_file_name ()
std::error_code Slic3r::rename_file (const std::string &from, const std::string &to)
static std::error_code Slic3r::write_whole_file (const std::string &path, std::initializer_list< std::string_view > chunks, bool binary)
static std::error_code Slic3r::write_in_place (const std::string &path, std::initializer_list< std::string_view > chunks, bool binary)
std::error_code Slic3r::write_file_atomically (const std::string &path, std::initializer_list< std::string_view > chunks, bool binary)
CopyFileResult Slic3r::copy_file_inner (const std::string &from, const std::string &to, std::string &error_message)
CopyFileResult Slic3r::copy_file (const std::string &from, const std::string &to, std::string &error_message, const bool with_check)
bool Slic3r::copy_framework (const std::string &from, const std::string &to)
CopyFileResult Slic3r::check_copy (const std::string &origin, const std::string &copy)
bool Slic3r::is_plain_file (const boost::filesystem::directory_entry &dir_entry)
bool Slic3r::is_ini_file (const boost::filesystem::directory_entry &dir_entry)
bool Slic3r::is_idx_file (const boost::filesystem::directory_entry &dir_entry)
bool Slic3r::is_gcode_file (const std::string &path)
bool Slic3r::is_json_file (const std::string &path)
bool Slic3r::is_path_within_root (const std::string &rel_path, const boost::filesystem::path &root)
bool Slic3r::is_symlink_target_within_root (const std::string &link_rel_path, const std::string &target, const boost::filesystem::path &root)
bool Slic3r::is_absolute_path_within_root (const boost::filesystem::path &path, const boost::filesystem::path &root)
bool Slic3r::is_safe_to_open_file_name (const std::string &file_name)
bool Slic3r::is_img_file (const std::string &path)
bool Slic3r::is_gallery_file (const boost::filesystem::directory_entry &dir_entry, char const *type)
bool Slic3r::is_gallery_file (const std::string &path, char const *type)
bool Slic3r::is_shapes_dir (const std::string &dir)
size_t Slic3r::get_utf8_sequence_length (const std::string &text, size_t pos)
size_t Slic3r::get_utf8_sequence_length (const char *seq, size_t size)
std::string Slic3r::encode_path (const char *src)
std::string Slic3r::decode_path (const char *src)
std::string Slic3r::normalize_utf8_nfc (const char *src)
std::vector< std::string > Slic3r::split_string (const std::string &str, char delimiter)
std::string Slic3r::PerlUtils::path_to_filename (const char *src)
std::string Slic3r::PerlUtils::path_to_stem (const char *src)
std::string Slic3r::PerlUtils::path_to_extension (const char *src)
std::string Slic3r::PerlUtils::path_to_parent_path (const char *src)
std::string Slic3r::string_printf (const char *format,...)
std::string Slic3r::header_slic3r_generated ()
std::string Slic3r::header_gcodeviewer_generated ()
unsigned Slic3r::get_current_pid ()
boost::filesystem::path Slic3r::download_marker_path (const boost::filesystem::path &dest_folder, const std::string &filename)
bool Slic3r::find_unused_filename (const boost::filesystem::path &dest_folder, const std::string &filename, const boost::filesystem::path &ignored_marker, std::string &result)
std::string Slic3r::per_user_temp_id ()
std::string Slic3r::per_user_temp_dir (const std::string &base, const std::string &user_id)
std::string Slic3r::resolve_cli_input_path (const std::string &path)
std::string Slic3r::get_process_name (int pid)
std::string Slic3r::xml_escape (std::string text, bool is_marked)
std::string Slic3r::xml_escape_double_quotes_attribute_value (std::string text)
std::string Slic3r::xml_unescape (std::string s)
std::string Slic3r::format_memsize_MB (size_t n)
std::string Slic3r::format_memsize (size_t bytes, unsigned int decimals)
std::string Slic3r::format_diameter_to_str (double diameter, int precision)
std::string Slic3r::log_memory_info (bool ignore_loglevel)
size_t Slic3r::total_physical_memory ()
bool Slic3r::makedir (const std::string path)
bool Slic3r::bbl_calc_md5 (std::string &filename, std::string &md5_out)
void Slic3r::copy_directory_recursively (const boost::filesystem::path &source, const boost::filesystem::path &target, std::function< bool(const std::string)> filter, bool merge_mode)
static bool Slic3r::cache_covers (const Semver &cache_ver, const Semver &profile_ver)
bool Slic3r::is_vendor_installed (const std::string &vendor)
Semver Slic3r::installed_vendor_version (const std::string &vendor)
void Slic3r::remove_installed_vendor (const std::string &vendor)
std::set< std::string > Slic3r::vendor_names_in (const boost::filesystem::path &dir)
static Semver Slic3r::installable_cache_version (const boost::filesystem::path &dir, const std::string &vendor)
Semver Slic3r::resource_vendor_version (const std::string &vendor)
bool Slic3r::install_vendor_bundles_from_resources (const std::vector< std::string > &bundle_names, const std::string &resource_subdir, const std::string &data_subdir)
void Slic3r::save_string_file (const boost::filesystem::path &p, const std::string &str)
void Slic3r::load_string_file (const boost::filesystem::path &p, std::string &str)
bool Slic3r::check_layer_id_pattern (const std::string &pattern, int layer_id)
boost::filesystem::path Slic3r::extended_path (const boost::filesystem::path &path)
bool Slic3r::is_printables_link (const std::string &url)
bool Slic3r::is_makerworld_link (const std::string &url)
bool Slic3r::is_thingiverse_link (const std::string &url)
std::string Slic3r::sanitize_filename (const std::string &filename)

Variables

static boost::log::trivial::severity_level Slic3r::logSeverity = boost::log::trivial::error
boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_file_backend > > Slic3r::g_log_sink
boost::shared_ptr< boost::log::sinks::asynchronous_sink< boost::log::sinks::text_ostream_backend > > Slic3r::g_console_log_sink
static struct Slic3r::RunOnInit Slic3r::g_RunOnInit
static std::string Slic3r::g_var_dir
static std::string Slic3r::g_resources_dir
static std::string Slic3r::g_temporary_dir
static std::string Slic3r::g_local_dir
static std::string Slic3r::g_sys_shapes_dir
static std::string Slic3r::g_custom_gcodes_dir
static std::string Slic3r::g_data_dir