FIX:set logo name empty when no custom svg
jira: STUDIO-7532 Change-Id: I42ac46aec070facf55333c00b06c65e592ab9345
This commit is contained in:
parent
319b3e2247
commit
5bc97e4997
|
@ -640,7 +640,7 @@ void PartPlate::render_logo_texture(GLTexture &logo_texture, const GeometryBuffe
|
|||
}
|
||||
}
|
||||
|
||||
void PartPlate::render_logo(bool bottom, bool render_cali) const
|
||||
void PartPlate::render_logo(bool bottom, bool render_cali)
|
||||
{
|
||||
// render printer custom texture logo
|
||||
if (m_partplate_list->m_logo_texture_filename.empty()) {
|
||||
|
@ -707,6 +707,13 @@ void PartPlate::render_logo(bool bottom, bool render_cali) const
|
|||
GL_STATIC_DRAW));
|
||||
glsafe(::glBindBuffer(GL_ARRAY_BUFFER, 0));
|
||||
}
|
||||
if (m_partplate_list && m_partplate_list->m_bed3d && !m_partplate_list->m_bed3d->get_model_filename().empty()) {
|
||||
auto cur_bed = m_partplate_list->m_bed3d;
|
||||
auto cur_box = cur_bed->get_model().get_bounding_box().transformed(Geometry::translation_transform(m_origin));
|
||||
if ((m_cur_bed_boundingbox.center() - cur_box.center()).norm() > 1.0f) {
|
||||
set_logo_box_by_bed(cur_box);
|
||||
}
|
||||
}
|
||||
if (m_vbo_id != 0 && m_logo_triangles.get_vertices_count() > 0) {
|
||||
render_logo_texture(m_partplate_list->m_logo_texture, m_logo_triangles, bottom, m_vbo_id);
|
||||
}
|
||||
|
@ -2539,6 +2546,7 @@ void PartPlate::generate_logo_polygon(ExPolygon &logo_polygon, const BoundingBox
|
|||
void PartPlate::set_logo_box_by_bed(const BoundingBoxf3& box)
|
||||
{
|
||||
if (box.defined) {
|
||||
m_cur_bed_boundingbox = box;
|
||||
ExPolygon logo_poly;
|
||||
generate_logo_polygon(logo_poly, box);
|
||||
if (!m_logo_triangles.set_from_triangles(triangulate_expolygon_2f(logo_poly, NORMALS_UP), GROUND_Z + 0.02f)) {
|
||||
|
@ -2720,7 +2728,8 @@ bool PartPlate::set_shape(const Pointfs& shape, const Pointfs& exclude_areas, Ve
|
|||
;
|
||||
}
|
||||
if (m_partplate_list && m_partplate_list->m_bed3d && !m_partplate_list->m_bed3d->get_model_filename().empty()) {
|
||||
set_logo_box_by_bed(m_partplate_list->m_bed3d->get_model().get_bounding_box());
|
||||
auto cur_bed = m_partplate_list->m_bed3d;
|
||||
set_logo_box_by_bed(cur_bed->get_model().get_bounding_box().transformed(Geometry::translation_transform(m_origin)));
|
||||
}
|
||||
|
||||
ExPolygon poly;
|
||||
|
|
|
@ -121,6 +121,7 @@ private:
|
|||
Pointfs m_exclude_area;
|
||||
BoundingBoxf3 m_bounding_box;
|
||||
BoundingBoxf3 m_extended_bounding_box;
|
||||
BoundingBoxf3 m_cur_bed_boundingbox;
|
||||
mutable std::vector<BoundingBoxf3> m_exclude_bounding_box;
|
||||
mutable BoundingBoxf3 m_grabber_box;
|
||||
Transform3d m_grabber_trans_matrix;
|
||||
|
@ -186,7 +187,7 @@ private:
|
|||
void calc_vertex_for_icons(int index, GeometryBuffer &buffer);
|
||||
void calc_vertex_for_icons_background(int icon_count, GeometryBuffer &buffer);
|
||||
void render_background(bool force_default_color = false) const;
|
||||
void render_logo(bool bottom, bool render_cali = true) const;
|
||||
void render_logo(bool bottom, bool render_cali = true);
|
||||
void render_logo_texture(GLTexture& logo_texture, const GeometryBuffer& logo_buffer, bool bottom, unsigned int vbo_id) const;
|
||||
void render_exclude_area(bool force_default_color) const;
|
||||
//void render_background_for_picking(const float* render_color) const;
|
||||
|
|
|
@ -5513,6 +5513,9 @@ wxSizer* TabPrinter::create_bed_shape_widget(wxWindow* parent)
|
|||
}
|
||||
load_key_value("bed_custom_texture", custom_texture);
|
||||
update_changed_ui();
|
||||
if (custom_texture == "") {
|
||||
wxGetApp().plater()->get_partplate_list().update_logo_texture_filename("");
|
||||
}
|
||||
} else {
|
||||
const std::vector<Vec2d> &shape = dlg.get_shape();
|
||||
const std::string & custom_texture = dlg.get_custom_texture();
|
||||
|
|
Loading…
Reference in New Issue