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

Go to the source code of this file.

Classes

struct  Slic3r::MultiNozzleUtils::NozzleInfo
struct  Slic3r::MultiNozzleUtils::NozzleGroupInfo
struct  Slic3r::MultiNozzleUtils::FilamentChangeTimeParams
class  Slic3r::MultiNozzleUtils::NozzleGroupResultBase
 Abstract base for a nozzle-grouping result. More...
class  Slic3r::MultiNozzleUtils::LayeredNozzleGroupResult
 Layer-aware nozzle-grouping result. Used by the back-end slicing code; supports per-layer nozzle mapping. More...
class  Slic3r::MultiNozzleUtils::StaticNozzleGroupResult
 Layer-less nozzle-grouping result for the device side (static nozzle mapping only). Reconstructed from a loaded gcode.3mf together with the filament/nozzle change sequences. More...
class  Slic3r::MultiNozzleUtils::NozzleStatusRecorder
struct  Slic3r::MultiNozzleUtils::FilamentChangeSimResult

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

Functions

FilamentChangeSimResult Slic3r::MultiNozzleUtils::simulate_filament_change_time (const std::vector< int > &logical_filaments, const std::vector< NozzleInfo > &nozzle_list, const std::vector< int > &filament_change_seq, const std::vector< int > &nozzle_change_seq, const std::vector< int > &group_of_filament, const FilamentChangeTimeParams &time_params, const std::vector< bool > &ams_preload_enabled, bool calc_sliced_time)
void Slic3r::MultiNozzleUtils::normalize_nozzle_map_per_layer (std::vector< std::vector< int > > &layer_filament_nozzle_maps, const std::vector< std::vector< unsigned int > > &layer_filaments)
std::vector< NozzleInfo > Slic3r::MultiNozzleUtils::build_nozzle_list (std::vector< NozzleGroupInfo > nozzle_groups)
std::vector< NozzleInfo > Slic3r::MultiNozzleUtils::build_nozzle_list (double diameter, const std::vector< int > &filament_nozzle_map, const std::vector< int > &filament_volume_map, const std::vector< int > &filament_map)
std::vector< NozzleInfo > Slic3r::MultiNozzleUtils::load_nozzle_infos_with_compatibility (const std::vector< NozzleInfo > &nozzle_infos, const std::vector< FilamentInfo > &filament_infos, const std::vector< int > &filament_map, const std::vector< NozzleVolumeType > &extruder_volume_types, const std::vector< double > &nozzle_diameter)

Class Documentation

◆ Slic3r::MultiNozzleUtils::FilamentChangeTimeParams

struct Slic3r::MultiNozzleUtils::FilamentChangeTimeParams
Class Members
float selector_load_time {0.0f}
float selector_unload_time {0.0f}
float standard_load_time {0.0f}
float standard_unload_time {0.0f}

◆ Slic3r::MultiNozzleUtils::FilamentChangeSimResult

struct Slic3r::MultiNozzleUtils::FilamentChangeSimResult
Class Members
double actual_time = 0.0
double sliced_time = 0.0