Slope visualiser angle inverted
It showed facet normal angle in the GUI, now it shows slope angle (90 deg complement). This change was made to unify it with threshold angle in Print Settings.
This commit is contained in:
@@ -1465,29 +1465,41 @@ void GLCanvas3D::Slope::render() const
|
|||||||
imgui.set_next_window_pos((float)cnv_size.get_width(), (float)cnv_size.get_height(), ImGuiCond_Always, 1.0f, 1.0f);
|
imgui.set_next_window_pos((float)cnv_size.get_width(), (float)cnv_size.get_height(), ImGuiCond_Always, 1.0f, 1.0f);
|
||||||
imgui.begin(_(L("Slope visualization")), nullptr, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse);
|
imgui.begin(_(L("Slope visualization")), nullptr, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse);
|
||||||
|
|
||||||
imgui.text(_(L("Facets' normal angle range (degrees)")) + ":");
|
imgui.text(_(L("Facets' slope range (degrees)")) + ":");
|
||||||
|
|
||||||
ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.75f, 0.75f, 0.0f, 0.5f));
|
|
||||||
ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(1.0f, 1.0f, 0.0f, 0.5f));
|
|
||||||
ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(0.85f, 0.85f, 0.0f, 0.5f));
|
|
||||||
ImGui::PushStyleColor(ImGuiCol_SliderGrab, ImVec4(0.25f, 0.25f, 0.0f, 1.0f));
|
|
||||||
if (ImGui::SliderFloat("##yellow", &angle_range[0], 0.0f, 90.0f, "%.1f"))
|
|
||||||
{
|
|
||||||
modified = true;
|
|
||||||
if (angle_range[1] < angle_range[0])
|
|
||||||
angle_range[1] = angle_range[0];
|
|
||||||
}
|
|
||||||
ImGui::PopStyleColor(4);
|
|
||||||
ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.75f, 0.0f, 0.0f, 0.5f));
|
ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.75f, 0.0f, 0.0f, 0.5f));
|
||||||
ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(1.0f, 0.0f, 0.0f, 0.5f));
|
ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(1.0f, 0.0f, 0.0f, 0.5f));
|
||||||
ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(0.85f, 0.0f, 0.0f, 0.5f));
|
ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(0.85f, 0.0f, 0.0f, 0.5f));
|
||||||
ImGui::PushStyleColor(ImGuiCol_SliderGrab, ImVec4(0.25f, 0.0f, 0.0f, 1.0f));
|
ImGui::PushStyleColor(ImGuiCol_SliderGrab, ImVec4(0.25f, 0.0f, 0.0f, 1.0f));
|
||||||
if (ImGui::SliderFloat("##red", &angle_range[1], 0.0f, 90.0f, "%.1f"))
|
|
||||||
|
// angle_range is range of normal angle, GUI should
|
||||||
|
// show facet slope angle
|
||||||
|
float slope_bound = 90.f - angle_range[1];
|
||||||
|
bool mod = ImGui::SliderFloat("##red", &slope_bound, 0.0f, 90.0f, "%.1f");
|
||||||
|
angle_range[1] = 90.f - slope_bound;
|
||||||
|
if (mod)
|
||||||
{
|
{
|
||||||
modified = true;
|
modified = true;
|
||||||
if (angle_range[0] > angle_range[1])
|
if (angle_range[0] > angle_range[1])
|
||||||
angle_range[0] = angle_range[1];
|
angle_range[0] = angle_range[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::PopStyleColor(4);
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.75f, 0.75f, 0.0f, 0.5f));
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, ImVec4(1.0f, 1.0f, 0.0f, 0.5f));
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(0.85f, 0.85f, 0.0f, 0.5f));
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_SliderGrab, ImVec4(0.25f, 0.25f, 0.0f, 1.0f));
|
||||||
|
|
||||||
|
slope_bound = 90.f - angle_range[0];
|
||||||
|
mod = ImGui::SliderFloat("##yellow", &slope_bound, 0.0f, 90.0f, "%.1f");
|
||||||
|
angle_range[0] = 90.f - slope_bound;
|
||||||
|
if (mod)
|
||||||
|
{
|
||||||
|
modified = true;
|
||||||
|
if (angle_range[1] < angle_range[0])
|
||||||
|
angle_range[1] = angle_range[0];
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::PopStyleColor(4);
|
ImGui::PopStyleColor(4);
|
||||||
|
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|||||||
@@ -672,7 +672,7 @@ void GLGizmoFdmSupports::on_render_input_window(float x, float y, float bottom_l
|
|||||||
m_imgui->end();
|
m_imgui->end();
|
||||||
if (m_setting_angle) {
|
if (m_setting_angle) {
|
||||||
m_parent.show_slope(false);
|
m_parent.show_slope(false);
|
||||||
m_parent.set_slope_range({m_angle_threshold_deg, m_angle_threshold_deg});
|
m_parent.set_slope_range({90.f - m_angle_threshold_deg, 90.f - m_angle_threshold_deg});
|
||||||
m_parent.use_slope(true);
|
m_parent.use_slope(true);
|
||||||
m_parent.set_as_dirty();
|
m_parent.set_as_dirty();
|
||||||
}
|
}
|
||||||
@@ -683,13 +683,13 @@ void GLGizmoFdmSupports::on_render_input_window(float x, float y, float bottom_l
|
|||||||
m_imgui->text("Threshold:");
|
m_imgui->text("Threshold:");
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
if (m_imgui->slider_float("", &m_angle_threshold_deg, 0.f, 90.f, "%.f"))
|
if (m_imgui->slider_float("", &m_angle_threshold_deg, 0.f, 90.f, "%.f"))
|
||||||
m_parent.set_slope_range({m_angle_threshold_deg, m_angle_threshold_deg});
|
m_parent.set_slope_range({90.f - m_angle_threshold_deg, 90.f - m_angle_threshold_deg});
|
||||||
m_imgui->checkbox(wxString("Overwrite already selected facets"), m_overwrite_selected);
|
m_imgui->checkbox(wxString("Overwrite already selected facets"), m_overwrite_selected);
|
||||||
if (m_imgui->button("Enforce"))
|
if (m_imgui->button("Enforce"))
|
||||||
select_facets_by_angle(90.f - m_angle_threshold_deg, m_overwrite_selected, false);
|
select_facets_by_angle(m_angle_threshold_deg, m_overwrite_selected, false);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
if (m_imgui->button("Block"))
|
if (m_imgui->button("Block"))
|
||||||
select_facets_by_angle(90.f - m_angle_threshold_deg, m_overwrite_selected, true);
|
select_facets_by_angle(m_angle_threshold_deg, m_overwrite_selected, true);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
if (m_imgui->button("Cancel"))
|
if (m_imgui->button("Cancel"))
|
||||||
m_setting_angle = false;
|
m_setting_angle = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user