FIX:ensure that it exists no lighting image data
every time you enter printed window and unify_deal_thumbnail_data jira: STUDIO-7201 Change-Id: I5a72ab50a36a94fbc76c3c8ed10633e1d023398a
This commit is contained in:
parent
91f445cfa2
commit
a381dfa03c
|
@ -2957,9 +2957,11 @@ void SelectMachineDialog::on_set_finish_mapping(wxCommandEvent &evt)
|
||||||
if (selection_data_arr.size() == 6) {
|
if (selection_data_arr.size() == 6) {
|
||||||
auto ams_colour = wxColour(wxAtoi(selection_data_arr[0]), wxAtoi(selection_data_arr[1]), wxAtoi(selection_data_arr[2]), wxAtoi(selection_data_arr[3]));
|
auto ams_colour = wxColour(wxAtoi(selection_data_arr[0]), wxAtoi(selection_data_arr[1]), wxAtoi(selection_data_arr[2]), wxAtoi(selection_data_arr[3]));
|
||||||
int old_filament_id = (int) wxAtoi(selection_data_arr[5]);
|
int old_filament_id = (int) wxAtoi(selection_data_arr[5]);
|
||||||
change_default_normal(old_filament_id, ams_colour);
|
if (m_print_type == PrintFromType::FROM_NORMAL) {//todo:support sd card
|
||||||
final_deal_edge_pixels_data(m_preview_thumbnail_data);
|
change_default_normal(old_filament_id, ams_colour);
|
||||||
set_default_normal(m_preview_thumbnail_data);//do't reset ams
|
final_deal_edge_pixels_data(m_preview_thumbnail_data);
|
||||||
|
set_default_normal(m_preview_thumbnail_data); // do't reset ams
|
||||||
|
}
|
||||||
|
|
||||||
int ctype = 0;
|
int ctype = 0;
|
||||||
std::vector<wxColour> material_cols;
|
std::vector<wxColour> material_cols;
|
||||||
|
@ -3944,6 +3946,8 @@ void SelectMachineDialog::set_default()
|
||||||
set_default_normal(m_plater->get_partplate_list().get_curr_plate()->thumbnail_data);
|
set_default_normal(m_plater->get_partplate_list().get_curr_plate()->thumbnail_data);
|
||||||
}
|
}
|
||||||
else if (m_print_type == PrintFromType::FROM_SDCARD_VIEW) {
|
else if (m_print_type == PrintFromType::FROM_SDCARD_VIEW) {
|
||||||
|
//todo:unify_deal_thumbnail_data(input_data, no_light_data);this include m_print_type = PrintFromType::FROM_SDCARD_VIEW
|
||||||
|
//and notice update_page_turn_state(true)
|
||||||
set_default_from_sdcard();
|
set_default_from_sdcard();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4096,7 +4100,7 @@ void SelectMachineDialog::clone_thumbnail_data() {
|
||||||
iter++;
|
iter++;
|
||||||
}
|
}
|
||||||
//copy data
|
//copy data
|
||||||
ThumbnailData &data = m_plater->get_partplate_list().get_curr_plate()->thumbnail_data;
|
auto &data = m_cur_input_thumbnail_data;
|
||||||
m_preview_thumbnail_data.reset();
|
m_preview_thumbnail_data.reset();
|
||||||
m_preview_thumbnail_data.set(data.width, data.height);
|
m_preview_thumbnail_data.set(data.width, data.height);
|
||||||
if (data.width > 0 && data.height > 0) {
|
if (data.width > 0 && data.height > 0) {
|
||||||
|
@ -4126,8 +4130,8 @@ void SelectMachineDialog::record_edge_pixels_data()
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
ThumbnailData &data = m_plater->get_partplate_list().get_curr_plate()->no_light_thumbnail_data;
|
ThumbnailData &data = m_cur_no_light_thumbnail_data;
|
||||||
ThumbnailData &origin_data = m_plater->get_partplate_list().get_curr_plate()->thumbnail_data;
|
ThumbnailData &origin_data = m_cur_input_thumbnail_data;
|
||||||
if (data.width > 0 && data.height > 0) {
|
if (data.width > 0 && data.height > 0) {
|
||||||
m_edge_pixels.resize(data.width * data.height);
|
m_edge_pixels.resize(data.width * data.height);
|
||||||
for (unsigned int r = 0; r < data.height; ++r) {
|
for (unsigned int r = 0; r < data.height; ++r) {
|
||||||
|
@ -4228,6 +4232,21 @@ void SelectMachineDialog::final_deal_edge_pixels_data(ThumbnailData &data)
|
||||||
void SelectMachineDialog::updata_thumbnail_data_after_connected_printer()
|
void SelectMachineDialog::updata_thumbnail_data_after_connected_printer()
|
||||||
{
|
{
|
||||||
// change thumbnail_data
|
// change thumbnail_data
|
||||||
|
ThumbnailData &input_data = m_plater->get_partplate_list().get_curr_plate()->thumbnail_data;
|
||||||
|
ThumbnailData &no_light_data = m_plater->get_partplate_list().get_curr_plate()->no_light_thumbnail_data;
|
||||||
|
if (input_data.width == 0 || input_data.height == 0 || no_light_data.width == 0 || no_light_data.height == 0) {
|
||||||
|
wxGetApp().plater()->update_all_plate_thumbnails(false);
|
||||||
|
}
|
||||||
|
unify_deal_thumbnail_data(input_data, no_light_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SelectMachineDialog::unify_deal_thumbnail_data(ThumbnailData &input_data, ThumbnailData &no_light_data) {
|
||||||
|
if (input_data.width == 0 || input_data.height == 0 || no_light_data.width == 0 || no_light_data.height == 0) {
|
||||||
|
BOOST_LOG_TRIVIAL(error) << "SelectMachineDialog::no_light_data is empty,error";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_cur_input_thumbnail_data = input_data;
|
||||||
|
m_cur_no_light_thumbnail_data = no_light_data;
|
||||||
clone_thumbnail_data();
|
clone_thumbnail_data();
|
||||||
MaterialHash::iterator iter = m_materialList.begin();
|
MaterialHash::iterator iter = m_materialList.begin();
|
||||||
bool is_connect_printer = true;
|
bool is_connect_printer = true;
|
||||||
|
@ -4263,8 +4282,8 @@ void SelectMachineDialog::change_default_normal(int old_filament_id, wxColour te
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ThumbnailData& data =m_plater->get_partplate_list().get_curr_plate()->thumbnail_data;
|
ThumbnailData& data = m_cur_input_thumbnail_data;
|
||||||
ThumbnailData& no_light_data = m_plater->get_partplate_list().get_curr_plate()->no_light_thumbnail_data;
|
ThumbnailData& no_light_data = m_cur_no_light_thumbnail_data;
|
||||||
if (data.width > 0 && data.height > 0 && data.width == no_light_data.width && data.height == no_light_data.height) {
|
if (data.width > 0 && data.height > 0 && data.width == no_light_data.width && data.height == no_light_data.height) {
|
||||||
for (unsigned int r = 0; r < data.height; ++r) {
|
for (unsigned int r = 0; r < data.height; ++r) {
|
||||||
unsigned int rr = (data.height - 1 - r) * data.width;
|
unsigned int rr = (data.height - 1 - r) * data.width;
|
||||||
|
@ -4308,6 +4327,9 @@ void SelectMachineDialog::change_default_normal(int old_filament_id, wxColour te
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
BOOST_LOG_TRIVIAL(error) << "SelectMachineDialog::change_defa:no_light_data is empty,error";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectMachineDialog::set_default_normal(const ThumbnailData &data)
|
void SelectMachineDialog::set_default_normal(const ThumbnailData &data)
|
||||||
|
|
|
@ -443,6 +443,8 @@ protected:
|
||||||
wxStaticBitmap * img_use_ams_tip{nullptr};
|
wxStaticBitmap * img_use_ams_tip{nullptr};
|
||||||
wxStaticBitmap * img_ams_backup{nullptr};
|
wxStaticBitmap * img_ams_backup{nullptr};
|
||||||
ScalableBitmap * enable_ams{nullptr};
|
ScalableBitmap * enable_ams{nullptr};
|
||||||
|
ThumbnailData m_cur_input_thumbnail_data;
|
||||||
|
ThumbnailData m_cur_no_light_thumbnail_data;
|
||||||
ThumbnailData m_preview_thumbnail_data;//when ams map change
|
ThumbnailData m_preview_thumbnail_data;//when ams map change
|
||||||
std::vector<wxColour> m_preview_colors_in_thumbnail;
|
std::vector<wxColour> m_preview_colors_in_thumbnail;
|
||||||
std::vector<wxColour> m_cur_colors_in_thumbnail;
|
std::vector<wxColour> m_cur_colors_in_thumbnail;
|
||||||
|
@ -491,6 +493,7 @@ public:
|
||||||
wxColour adjust_color_for_render(const wxColour& color);
|
wxColour adjust_color_for_render(const wxColour& color);
|
||||||
void final_deal_edge_pixels_data(ThumbnailData& data);
|
void final_deal_edge_pixels_data(ThumbnailData& data);
|
||||||
void updata_thumbnail_data_after_connected_printer();
|
void updata_thumbnail_data_after_connected_printer();
|
||||||
|
void unify_deal_thumbnail_data(ThumbnailData &input_data, ThumbnailData &no_light_data);
|
||||||
void change_default_normal(int old_filament_id, wxColour temp_ams_color);
|
void change_default_normal(int old_filament_id, wxColour temp_ams_color);
|
||||||
void set_default_normal(const ThumbnailData&);
|
void set_default_normal(const ThumbnailData&);
|
||||||
void set_default_from_sdcard();
|
void set_default_from_sdcard();
|
||||||
|
|
Loading…
Reference in New Issue