mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-18 22:31:13 -06:00
micro refactor vender type
This commit is contained in:
parent
1f03e4d241
commit
aa4c042855
17 changed files with 79 additions and 81 deletions
|
@ -685,26 +685,6 @@ bool Preset::is_custom_defined()
|
|||
return false;
|
||||
}
|
||||
|
||||
bool Preset::has_lidar(PresetBundle *preset_bundle)
|
||||
{
|
||||
bool has_lidar = false;
|
||||
if (preset_bundle) {
|
||||
auto config = &preset_bundle->printers.get_edited_preset().config;
|
||||
std::string vendor_name;
|
||||
for (auto vendor_profile : preset_bundle->vendors) {
|
||||
for (auto vendor_model : vendor_profile.second.models)
|
||||
if (vendor_model.name == config->opt_string("printer_model"))
|
||||
{
|
||||
vendor_name = vendor_profile.first;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!vendor_name.empty())
|
||||
has_lidar = vendor_name.compare("BBL") == 0 ? true : false;
|
||||
}
|
||||
return has_lidar;
|
||||
}
|
||||
|
||||
BedType Preset::get_default_bed_type(PresetBundle* preset_bundle)
|
||||
{
|
||||
if (config.has("default_bed_type") && !config.opt_string("default_bed_type").empty()) {
|
||||
|
|
|
@ -302,7 +302,6 @@ public:
|
|||
std::string get_current_printer_type(PresetBundle *preset_bundle); // get current preset type
|
||||
bool is_custom_defined();
|
||||
|
||||
bool has_lidar(PresetBundle *preset_bundle);
|
||||
BedType get_default_bed_type(PresetBundle *preset_bundle);
|
||||
bool has_cali_lines(PresetBundle* preset_bundle);
|
||||
|
||||
|
|
|
@ -321,6 +321,23 @@ Semver PresetBundle::get_vendor_profile_version(std::string vendor_name)
|
|||
return result_ver;
|
||||
}
|
||||
|
||||
VendorType PresetBundle::get_current_vendor_type()
|
||||
{
|
||||
auto t = VendorType::Unknown;
|
||||
auto config = &printers.get_edited_preset().config;
|
||||
std::string vendor_name;
|
||||
for (auto vendor_profile : vendors) {
|
||||
for (auto vendor_model : vendor_profile.second.models)
|
||||
if (vendor_model.name == config->opt_string("printer_model")) {
|
||||
vendor_name = vendor_profile.first;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!vendor_name.empty())
|
||||
t = vendor_name.compare("BBL") == 0 ? VendorType::Unknown : VendorType::Marlin_BBL;
|
||||
return t;
|
||||
}
|
||||
|
||||
//BBS: load project embedded presets
|
||||
PresetsConfigSubstitutions PresetBundle::load_project_embedded_presets(std::vector<Preset*> project_presets, ForwardCompatibilitySubstitutionRule substitution_rule)
|
||||
{
|
||||
|
|
|
@ -11,6 +11,13 @@
|
|||
|
||||
#define DEFAULT_USER_FOLDER_NAME "default"
|
||||
|
||||
// define an enum class of vendor type
|
||||
enum class VendorType {
|
||||
Unknown = 0,
|
||||
Klipper,
|
||||
Marlin,
|
||||
Marlin_BBL
|
||||
};
|
||||
namespace Slic3r {
|
||||
|
||||
// Bundle of Print + Filament + Printer presets.
|
||||
|
@ -67,6 +74,11 @@ public:
|
|||
//BBS: get vendor's current version
|
||||
Semver get_vendor_profile_version(std::string vendor_name);
|
||||
|
||||
// Orca: get vendor type
|
||||
VendorType get_current_vendor_type();
|
||||
// Vendor related handy functions
|
||||
bool is_bbl_vendor() { return get_current_vendor_type() == VendorType::Marlin_BBL; }
|
||||
|
||||
//BBS: project embedded preset logic
|
||||
PresetsConfigSubstitutions load_project_embedded_presets(std::vector<Preset*> project_presets, ForwardCompatibilitySubstitutionRule substitution_rule);
|
||||
std::vector<Preset*> get_current_project_embedded_presets();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue