OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
FilamentGroupUtils.hpp File Reference
#include <set>
#include <unordered_map>
#include <utility>
#include <vector>
#include <map>
#include <string>
#include <exception>
#include "PrintConfig.hpp"
#include "MultiNozzleUtils.hpp"
Include dependency graph for FilamentGroupUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::FilamentGroupUtils::Color
struct  Slic3r::FilamentGroupUtils::FilamentInfo
struct  Slic3r::FilamentGroupUtils::MachineFilamentInfo
class  Slic3r::FilamentGroupUtils::FilamentGroupException

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::FilamentGroupUtils

Functions

std::vector< int > Slic3r::FilamentGroupUtils::calc_max_group_size (const std::vector< std::map< int, int > > &ams_counts, bool ignore_ext_filament)
std::vector< std::vector< MachineFilamentInfo > > Slic3r::FilamentGroupUtils::build_machine_filaments (const std::vector< std::vector< DynamicPrintConfig > > &filament_configs, const std::vector< std::map< int, int > > &ams_counts, bool ignore_ext_filament)
bool Slic3r::FilamentGroupUtils::collect_unprintable_limits (const std::vector< std::set< int > > &physical_unprintables, const std::vector< std::set< int > > &geometric_unprintables, std::vector< std::set< int > > &unprintable_limits)
bool Slic3r::FilamentGroupUtils::remove_intersection (std::set< int > &a, std::set< int > &b)
void Slic3r::FilamentGroupUtils::extract_indices (const std::vector< unsigned int > &used_filaments, const std::vector< std::set< int > > &unprintable_elems, std::vector< std::set< int > > &unprintable_idxs)
void Slic3r::FilamentGroupUtils::extract_unprintable_limit_indices (const std::vector< std::set< int > > &unprintable_elems, const std::vector< unsigned int > &used_filaments, std::map< int, int > &unplaceable_limits)
void Slic3r::FilamentGroupUtils::extract_unprintable_limit_indices (const std::vector< std::set< int > > &unprintable_elems, const std::vector< unsigned int > &used_filaments, std::unordered_map< int, std::vector< int > > &unplaceable_limits)
bool Slic3r::FilamentGroupUtils::check_printable (const std::vector< std::set< int > > &groups, const std::map< int, int > &unprintable)
int Slic3r::FilamentGroupUtils::get_estimate_extruder_change_count (const std::vector< std::vector< unsigned int > > &layer_filaments, const MultiNozzleUtils::LayeredNozzleGroupResult &extruder_nozzle_info)
int Slic3r::FilamentGroupUtils::get_estimate_nozzle_change_count (const std::vector< std::vector< unsigned int > > &layer_filaments, const MultiNozzleUtils::LayeredNozzleGroupResult &extruder_nozzle_info)
std::pair< int, int > Slic3r::FilamentGroupUtils::get_estimate_extruder_filament_change_count (const MultiNozzleUtils::LayeredNozzleGroupResult &extruder_nozzle_info)
std::map< int, std::vector< int > > Slic3r::FilamentGroupUtils::build_extruder_nozzle_list (const std::vector< MultiNozzleUtils::NozzleInfo > &nozzle_list)
std::vector< int > Slic3r::FilamentGroupUtils::update_used_filament_values (const std::vector< int > &old_values, const std::vector< int > &new_values, const std::vector< unsigned int > &used_filaments)