mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-28 19:31:22 +00:00
Pass plate chrome suppression as a render argument
This commit is contained in:
@@ -8096,12 +8096,7 @@ void GLCanvas3D::_render_bed(const Transform3d& view_matrix, const Transform3d&
|
|||||||
|
|
||||||
void GLCanvas3D::_render_platelist(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid)
|
void GLCanvas3D::_render_platelist(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid)
|
||||||
{
|
{
|
||||||
// SnapOrca Design: transiently suppress plate chrome for opted-out canvases.
|
wxGetApp().plater()->get_partplate_list().render(view_matrix, projection_matrix, bottom, only_current, only_body, hover_id, render_cali, show_grid, !m_plate_chrome_enabled);
|
||||||
auto& plate_list = wxGetApp().plater()->get_partplate_list();
|
|
||||||
const bool prev_hide_chrome = plate_list.get_hide_chrome();
|
|
||||||
plate_list.set_hide_chrome(!m_plate_chrome_enabled);
|
|
||||||
plate_list.render(view_matrix, projection_matrix, bottom, only_current, only_body, hover_id, render_cali, show_grid);
|
|
||||||
plate_list.set_hide_chrome(prev_hide_chrome);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas3D::_render_shadows(const Transform3d& view_matrix, const Transform3d& projection_matrix)
|
void GLCanvas3D::_render_shadows(const Transform3d& view_matrix, const Transform3d& projection_matrix)
|
||||||
|
|||||||
@@ -3485,7 +3485,7 @@ bool PartPlate::intersects(const BoundingBoxf3& bb) const
|
|||||||
return print_volume.intersects(bb);
|
return print_volume.intersects(bb);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body, bool force_background_color, HeightLimitMode mode, int hover_id, bool render_cali, bool show_grid)
|
void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body, bool force_background_color, HeightLimitMode mode, int hover_id, bool render_cali, bool show_grid, bool hide_chrome)
|
||||||
{
|
{
|
||||||
glsafe(::glEnable(GL_DEPTH_TEST));
|
glsafe(::glEnable(GL_DEPTH_TEST));
|
||||||
|
|
||||||
@@ -3536,8 +3536,6 @@ void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projec
|
|||||||
if (wxGetApp().show_plate_gridlines() && show_grid)
|
if (wxGetApp().show_plate_gridlines() && show_grid)
|
||||||
render_grid(bottom);
|
render_grid(bottom);
|
||||||
|
|
||||||
const bool hide_chrome = m_partplate_list && m_partplate_list->get_hide_chrome();
|
|
||||||
|
|
||||||
if (!hide_chrome && !bottom && m_selected && !force_background_color) {
|
if (!hide_chrome && !bottom && m_selected && !force_background_color) {
|
||||||
if (m_partplate_list)
|
if (m_partplate_list)
|
||||||
render_logo(bottom, m_partplate_list->render_cali_logo && render_cali);
|
render_logo(bottom, m_partplate_list->render_cali_logo && render_cali);
|
||||||
@@ -5954,7 +5952,7 @@ void PartPlateList::postprocess_arrange_polygon(arrangement::ArrangePolygon& arr
|
|||||||
|
|
||||||
/*rendering related functions*/
|
/*rendering related functions*/
|
||||||
//render
|
//render
|
||||||
void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid)
|
void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid, bool hide_chrome)
|
||||||
{
|
{
|
||||||
const std::lock_guard<std::mutex> local_lock(m_plates_mutex);
|
const std::lock_guard<std::mutex> local_lock(m_plates_mutex);
|
||||||
std::vector<PartPlate*>::iterator it = m_plate_list.begin();
|
std::vector<PartPlate*>::iterator it = m_plate_list.begin();
|
||||||
@@ -5979,15 +5977,15 @@ void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& pr
|
|||||||
if (current_index == m_current_plate) {
|
if (current_index == m_current_plate) {
|
||||||
PartPlate::HeightLimitMode height_mode = (only_current)?PartPlate::HEIGHT_LIMIT_NONE:m_height_limit_mode;
|
PartPlate::HeightLimitMode height_mode = (only_current)?PartPlate::HEIGHT_LIMIT_NONE:m_height_limit_mode;
|
||||||
if (plate_hover_index == current_index)
|
if (plate_hover_index == current_index)
|
||||||
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, plate_hover_action, render_cali, show_grid);
|
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, plate_hover_action, render_cali, show_grid, hide_chrome);
|
||||||
else
|
else
|
||||||
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, -1, render_cali, show_grid);
|
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, -1, render_cali, show_grid, hide_chrome);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (plate_hover_index == current_index)
|
if (plate_hover_index == current_index)
|
||||||
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, plate_hover_action, render_cali, show_grid);
|
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, plate_hover_action, render_cali, show_grid, hide_chrome);
|
||||||
else
|
else
|
||||||
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, -1, render_cali, show_grid);
|
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, -1, render_cali, show_grid, hide_chrome);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -419,7 +419,7 @@ public:
|
|||||||
bool contains(const BoundingBoxf3& bb) const;
|
bool contains(const BoundingBoxf3& bb) const;
|
||||||
bool intersects(const BoundingBoxf3& bb) const;
|
bool intersects(const BoundingBoxf3& bb) const;
|
||||||
|
|
||||||
void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body = false, bool force_background_color = false, HeightLimitMode mode = HEIGHT_LIMIT_NONE, int hover_id = -1, bool render_cali = false, bool show_grid = true);
|
void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body = false, bool force_background_color = false, HeightLimitMode mode = HEIGHT_LIMIT_NONE, int hover_id = -1, bool render_cali = false, bool show_grid = true, bool hide_chrome = false);
|
||||||
|
|
||||||
void set_selected();
|
void set_selected();
|
||||||
void set_unselected();
|
void set_unselected();
|
||||||
@@ -631,11 +631,6 @@ class PartPlateList : public ObjectBase
|
|||||||
bool render_bedtype_logo = true;
|
bool render_bedtype_logo = true;
|
||||||
bool render_plate_settings = true;
|
bool render_plate_settings = true;
|
||||||
bool render_cali_logo = true;
|
bool render_cali_logo = true;
|
||||||
// SnapOrca Design: when true, PartPlate::render skips all overlay chrome
|
|
||||||
// (corner icons, logo watermark, plate numbers) but keeps the bed grid.
|
|
||||||
// Toggled transiently per-frame by GLCanvas3D::_render_platelist for the
|
|
||||||
// DesignCanvas; stays false for the main editor.
|
|
||||||
bool m_hide_chrome = false;
|
|
||||||
|
|
||||||
bool m_is_dark = false;
|
bool m_is_dark = false;
|
||||||
|
|
||||||
@@ -863,11 +858,9 @@ public:
|
|||||||
|
|
||||||
/*rendering related functions*/
|
/*rendering related functions*/
|
||||||
void on_change_color_mode(bool is_dark) { m_is_dark = is_dark; }
|
void on_change_color_mode(bool is_dark) { m_is_dark = is_dark; }
|
||||||
void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current = false, bool only_body = false, int hover_id = -1, bool render_cali = false, bool show_grid = true);
|
void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current = false, bool only_body = false, int hover_id = -1, bool render_cali = false, bool show_grid = true, bool hide_chrome = false);
|
||||||
void set_render_option(bool bedtype_texture, bool plate_settings);
|
void set_render_option(bool bedtype_texture, bool plate_settings);
|
||||||
void set_render_cali(bool value = true) { render_cali_logo = value; }
|
void set_render_cali(bool value = true) { render_cali_logo = value; }
|
||||||
void set_hide_chrome(bool value) { m_hide_chrome = value; }
|
|
||||||
bool get_hide_chrome() const { return m_hide_chrome; }
|
|
||||||
void register_raycasters_for_picking(GLCanvas3D& canvas)
|
void register_raycasters_for_picking(GLCanvas3D& canvas)
|
||||||
{
|
{
|
||||||
for (auto plate : m_plate_list)
|
for (auto plate : m_plate_list)
|
||||||
|
|||||||
Reference in New Issue
Block a user