OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::MultiNozzleUtils::NozzleStatusRecorder Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/MultiNozzleUtils.hpp>

Collaboration diagram for Slic3r::MultiNozzleUtils::NozzleStatusRecorder:

Public Member Functions

 NozzleStatusRecorder ()=default
bool is_nozzle_empty (int nozzle_id) const
int get_filament_in_nozzle (int nozzle_id) const
int get_nozzle_in_extruder (int extruder_id) const
int get_current_extruder_id () const
void clear_nozzle_status (int nozzle_id)
void set_current_extruder_id (int extruder_id)
void set_nozzle_status (int nozzle_id, int filament_id, int extruder_id=-1)
const std::unordered_map< int, int > & get_nozzle_filament_map () const
const std::unordered_map< int, int > & get_extruder_nozzle_map () const

Private Attributes

std::unordered_map< int, int > nozzle_filament_status
std::unordered_map< int, int > extruder_nozzle_status
int current_extruder_id_ = -1

Detailed Description

Constructor & Destructor Documentation

◆ NozzleStatusRecorder()

Slic3r::MultiNozzleUtils::NozzleStatusRecorder::NozzleStatusRecorder ( )
default

Member Function Documentation

◆ clear_nozzle_status()

void Slic3r::MultiNozzleUtils::NozzleStatusRecorder::clear_nozzle_status ( int nozzle_id)
695{
696 auto iter = nozzle_filament_status.find(nozzle_id);
697 if (iter == nozzle_filament_status.end()) return;
698 nozzle_filament_status.erase(iter);
699}
std::unordered_map< int, int > nozzle_filament_status
Definition MultiNozzleUtils.hpp:230

References nozzle_filament_status.

◆ get_current_extruder_id()

int Slic3r::MultiNozzleUtils::NozzleStatusRecorder::get_current_extruder_id ( ) const
inline
239{ return current_extruder_id_; }
int current_extruder_id_
Definition MultiNozzleUtils.hpp:232

References current_extruder_id_.

Referenced by Slic3r::reorder_filaments_for_multi_nozzle_extruder().

Here is the caller graph for this function:

◆ get_extruder_nozzle_map()

const std::unordered_map< int, int > & Slic3r::MultiNozzleUtils::NozzleStatusRecorder::get_extruder_nozzle_map ( ) const
inline
250{ return extruder_nozzle_status; }
std::unordered_map< int, int > extruder_nozzle_status
Definition MultiNozzleUtils.hpp:231

References extruder_nozzle_status.

◆ get_filament_in_nozzle()

int Slic3r::MultiNozzleUtils::NozzleStatusRecorder::get_filament_in_nozzle ( int nozzle_id) const
673{
674 auto iter = nozzle_filament_status.find(nozzle_id);
675 if (iter == nozzle_filament_status.end()) return -1;
676 return iter->second;
677}

References nozzle_filament_status.

Referenced by Slic3r::Print::_make_wipe_tower(), Slic3r::calc_filament_change_info_by_toolorder(), Slic3r::MultiNozzleUtils::LayeredNozzleGroupResult::estimate_seq_flush_weight(), Slic3r::DevNozzleMappingCtrl::GetFlushWeight(), Slic3r::reorder_filaments_for_multi_nozzle_extruder(), and Slic3r::MultiNozzleUtils::simulate_filament_change_time().

Here is the caller graph for this function:

◆ get_nozzle_filament_map()

const std::unordered_map< int, int > & Slic3r::MultiNozzleUtils::NozzleStatusRecorder::get_nozzle_filament_map ( ) const
inline
248{ return nozzle_filament_status; }

References nozzle_filament_status.

Referenced by Slic3r::plan_filament_mapping_and_order_by_combo_ranges().

Here is the caller graph for this function:

◆ get_nozzle_in_extruder()

int Slic3r::MultiNozzleUtils::NozzleStatusRecorder::get_nozzle_in_extruder ( int extruder_id) const
680{
681 auto iter = extruder_nozzle_status.find(extruder_id);
682 if (iter == extruder_nozzle_status.end()) return -1;
683 return iter->second;
684}

References extruder_nozzle_status.

Referenced by Slic3r::reorder_filaments_for_multi_nozzle_extruder(), and Slic3r::MultiNozzleUtils::simulate_filament_change_time().

Here is the caller graph for this function:

◆ is_nozzle_empty()

bool Slic3r::MultiNozzleUtils::NozzleStatusRecorder::is_nozzle_empty ( int nozzle_id) const
666{
667 auto iter = nozzle_filament_status.find(nozzle_id);
668 if (iter == nozzle_filament_status.end()) return true;
669 return false;
670}

References nozzle_filament_status.

Referenced by Slic3r::Print::_make_wipe_tower().

Here is the caller graph for this function:

◆ set_current_extruder_id()

void Slic3r::MultiNozzleUtils::NozzleStatusRecorder::set_current_extruder_id ( int extruder_id)
inline
242{ current_extruder_id_ = extruder_id; }

References current_extruder_id_.

Referenced by Slic3r::plan_filament_mapping_and_order_by_combo_ranges().

Here is the caller graph for this function:

◆ set_nozzle_status()

void Slic3r::MultiNozzleUtils::NozzleStatusRecorder::set_nozzle_status ( int nozzle_id,
int filament_id,
int extruder_id = -1 )
687{
688 nozzle_filament_status[nozzle_id] = filament_id;
689 if (extruder_id != -1) {
690 extruder_nozzle_status[extruder_id] = nozzle_id;
691 }
692}

References extruder_nozzle_status, and nozzle_filament_status.

Referenced by Slic3r::Print::_make_wipe_tower(), Slic3r::calc_filament_change_info_by_toolorder(), Slic3r::MultiNozzleUtils::LayeredNozzleGroupResult::estimate_seq_flush_weight(), Slic3r::full_evaluate(), Slic3r::DevNozzleMappingCtrl::GetFlushWeight(), Slic3r::plan_filament_mapping_and_order_by_combo_ranges(), and Slic3r::MultiNozzleUtils::simulate_filament_change_time().

Here is the caller graph for this function:

Member Data Documentation

◆ current_extruder_id_

int Slic3r::MultiNozzleUtils::NozzleStatusRecorder::current_extruder_id_ = -1
private

◆ extruder_nozzle_status

std::unordered_map<int, int> Slic3r::MultiNozzleUtils::NozzleStatusRecorder::extruder_nozzle_status
private

◆ nozzle_filament_status

std::unordered_map<int, int> Slic3r::MultiNozzleUtils::NozzleStatusRecorder::nozzle_filament_status
private

The documentation for this class was generated from the following files: