mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-02-01 16:38:43 +03:00
Prusa 2.7.3
This commit is contained in:
@@ -58,6 +58,27 @@ public:
|
||||
void cache_extruder_filaments_names();
|
||||
void reset_extruder_filaments();
|
||||
|
||||
// Another hideous function related to current ExtruderFilaments hack. Returns a vector of values
|
||||
// of a given config option for all currently used filaments. Modified value is returned for modified preset.
|
||||
// Must be called with the vector ConfigOption type, e.g. ConfigOptionPercents.
|
||||
template <class T>
|
||||
auto get_config_options_for_current_filaments(const t_config_option_key& key)
|
||||
{
|
||||
decltype(T::values) out;
|
||||
const Preset& edited_preset = this->filaments.get_edited_preset();
|
||||
for (const ExtruderFilaments& extr_filament : this->extruders_filaments) {
|
||||
const Preset& selected_preset = *extr_filament.get_selected_preset();
|
||||
const Preset& preset = edited_preset.name == selected_preset.name ? edited_preset : selected_preset;
|
||||
const T* co = preset.config.opt<T>(key);
|
||||
if (co) {
|
||||
assert(co->values.size() == 1);
|
||||
out.push_back(co->values.back());
|
||||
} else {
|
||||
// Key is missing or type mismatch.
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
PresetCollection& get_presets(Preset::Type preset_type);
|
||||
|
||||
// The project configuration values are kept separated from the print/filament/printer preset,
|
||||
|
||||
Reference in New Issue
Block a user