OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
ToolOrdering.cpp File Reference
#include "libslic3r/Exception.hpp"
#include "libslic3r/CustomGCode.hpp"
#include "libslic3r/Config.hpp"
#include "ExtrusionEntity.hpp"
#include "libslic3r/ObjectID.hpp"
#include "libslic3r/FilamentGroup.hpp"
#include "Print.hpp"
#include "ToolOrdering.hpp"
#include "Layer.hpp"
#include "ClipperUtils.hpp"
#include "ParameterUtils.hpp"
#include "GCode/ToolOrderUtils.hpp"
#include "FilamentGroupUtils.hpp"
#include "MultiNozzleUtils.hpp"
#include "FilamentMixer.hpp"
#include "LocalesUtils.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "Utils.hpp"
#include "format.hpp"
#include "I18N.hpp"
#include "../BeltBrim.hpp"
#include <boost/log/trivial.hpp>
#include <vector>
#include <string>
#include <utility>
#include <cmath>
#include <cstdlib>
#include <optional>
#include <functional>
#include <exception>
#include <memory>
#include <tuple>
#include <iostream>
#include <cassert>
#include <cstdio>
#include <limits>
#include <algorithm>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <unordered_map>
#include <libslic3r.h>
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/ExtrusionEntityCollection.hpp"
#include "libslic3r/Model.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/SurfaceCollection.hpp"
Include dependency graph for ToolOrdering.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::VectorHash

Namespaces

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

Macros

#define _L(s)
 macro used to mark string used at localization, return same string

Functions

static std::set< int > Slic3r::get_filament_by_type (const std::vector< unsigned int > &used_filaments, const PrintConfig *print_config, const std::string &type)
bool Slic3r::check_filament_printable_after_group (const std::vector< unsigned int > &used_filaments, const std::vector< int > &filament_maps, const PrintConfig *print_config)
static unsigned int Slic3r::region_filament (const ExtrusionEntityCollection &extrusions, const PrintRegionConfig &config)
static double Slic3r::calc_max_layer_height (const PrintConfig &config, double max_object_layer_height)
static FilamentChangeStats Slic3r::calc_filament_change_info_by_toolorder (const PrintConfig *config, const MultiNozzleUtils::LayeredNozzleGroupResult &group_result, const std::vector< FlushMatrix > &flush_matrix, const std::vector< std::vector< unsigned int > > &layer_sequences)
static void Slic3r::apply_first_layer_order (const DynamicPrintConfig *config, std::vector< unsigned int > &tool_order)
std::set< std::pair< std::vector< unsigned int >, std::vector< unsigned int > > > Slic3r::generate_combinations (const std::vector< unsigned int > &extruders)
float Slic3r::get_flush_volume (const std::vector< int > &filament_maps, const std::vector< unsigned int > &extruders, const std::vector< FlushMatrix > &matrix, size_t nozzle_nums)
static std::vector< MultiNozzleUtils::NozzleInfo > Slic3r::build_default_nozzle_list (const PrintConfig &print_config, size_t extruder_nums)
static bool Slic3r::cfg_bool (const ConfigBase &c, const char *key, bool def)
static double Slic3r::cfg_float (const ConfigBase &c, const char *key, double def)
static std::vector< FlushMatrix > Slic3r::prepare_flush_matrices (const PrintConfig &print_config)
static std::vector< MultiNozzleUtils::NozzleGroupInfo > Slic3r::build_nozzle_groups (const PrintConfig &print_config, size_t extruder_nums)
static FilamentGroupContext Slic3r::build_filament_group_context (const Print *print, const std::vector< std::vector< unsigned int > > &layer_filaments, const std::vector< std::set< int > > &physical_unprintables, const std::vector< std::set< int > > &geometric_unprintables, const std::map< int, std::set< NozzleVolumeType > > &unprintable_volumes, FilamentMapMode mode, const std::unordered_map< int, int > &nozzle_status)
static bool Slic3r::can_swap_extruder_groups (int extruder_id_0, const std::set< int > &group_0, int extruder_id_1, const std::set< int > &group_1, const FilamentGroupContext &ctx)
static std::vector< int > Slic3r::apply_master_extruder_preference (const FilamentGroupContext &ctx, const std::vector< unsigned int > &used_filaments, std::vector< int > nozzle_ret)
static MultiNozzleUtils::LayeredNozzleGroupResult Slic3r::build_group_result_from_map (const PrintConfig &print_config, const std::vector< int > &filament_map_0based, const std::vector< unsigned int > &used_filaments)
static MultiNozzleUtils::LayeredNozzleGroupResult Slic3r::refine_groups_by_Nozzle_State (const FilamentGroupContext &ctx, const MultiNozzleUtils::LayeredNozzleGroupResult &group, const std::unordered_map< int, int > &nozzles_state)
static std::vector< FilamentPlanRes > Slic3r::plan_filament_mapping_and_order_by_combo_ranges (Print *print, const FilamentGroupContext &ctx, const std::function< bool(int, std::vector< int > &)> get_custom_seq, const FilamentMapMode mode, const std::vector< std::set< int > > &physical_unprintables, const std::vector< std::set< int > > &geometric_unprintables, const std::map< int, std::set< NozzleVolumeType > > &unprintable_volumes, MultiNozzleUtils::NozzleStatusRecorder *io_nozzle_status)
static double Slic3r::snap_to_simple_fraction (double r, int max_denom=10)
std::vector< unsigned int > Slic3r::parse_cyclic_order (const std::string &str, unsigned int number_of_extruders)

Variables

static const bool Slic3r::g_wipe_into_objects = false
constexpr double Slic3r::similar_color_threshold_de2000 = 20.0
static CustomGCode::Info Slic3r::custom_gcode_per_print_z

Macro Definition Documentation

◆ _L

#define _L ( s)
Value:
std::string translate(const std::string &s)
Definition I18N.hpp:18

macro used to mark string used at localization, return same string

Referenced by Slic3r::build_filament_group_context(), and Slic3r::ToolOrdering::get_recommended_filament_maps().