mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-29 06:12:02 +08:00
New gcode visualization integration - Toggling of top layer only view state
This commit is contained in:
parent
75c7f19f20
commit
13c67db5a1
@ -76,7 +76,11 @@ public:
|
|||||||
// Whether or not the visible range is limited to the current top layer only.
|
// Whether or not the visible range is limited to the current top layer only.
|
||||||
//
|
//
|
||||||
bool is_top_layer_only_view_range() const;
|
bool is_top_layer_only_view_range() const;
|
||||||
void set_top_layer_only_view_range(bool top_layer_only);
|
//
|
||||||
|
// Toggle the top layer only state.
|
||||||
|
//
|
||||||
|
void toggle_top_layer_only_view_range();
|
||||||
|
|
||||||
//
|
//
|
||||||
// Spiral vase mode
|
// Spiral vase mode
|
||||||
// Whether or not the gcode was generated with spiral vase mode enabled.
|
// Whether or not the gcode was generated with spiral vase mode enabled.
|
||||||
|
@ -67,9 +67,9 @@ bool Viewer::is_top_layer_only_view_range() const
|
|||||||
return m_impl->is_top_layer_only_view_range();
|
return m_impl->is_top_layer_only_view_range();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Viewer::set_top_layer_only_view_range(bool top_layer_only)
|
void Viewer::toggle_top_layer_only_view_range()
|
||||||
{
|
{
|
||||||
m_impl->set_top_layer_only_view_range(top_layer_only);
|
m_impl->toggle_top_layer_only_view_range();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Viewer::is_spiral_vase_mode() const
|
bool Viewer::is_spiral_vase_mode() const
|
||||||
|
@ -789,9 +789,12 @@ void ViewerImpl::set_layers_view_range(Interval::value_type min, Interval::value
|
|||||||
m_settings.update_colors = true;
|
m_settings.update_colors = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewerImpl::set_top_layer_only_view_range(bool top_layer_only_view_range)
|
void ViewerImpl::toggle_top_layer_only_view_range()
|
||||||
{
|
{
|
||||||
m_settings.top_layer_only_view_range = top_layer_only_view_range;
|
m_settings.top_layer_only_view_range = !m_settings.top_layer_only_view_range;
|
||||||
|
update_view_full_range();
|
||||||
|
m_view_range.set_visible(m_view_range.get_enabled());
|
||||||
|
m_settings.update_enabled_entities = true;
|
||||||
m_settings.update_colors = true;
|
m_settings.update_colors = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ public:
|
|||||||
void set_layers_view_range(Interval::value_type min, Interval::value_type max);
|
void set_layers_view_range(Interval::value_type min, Interval::value_type max);
|
||||||
|
|
||||||
bool is_top_layer_only_view_range() const { return m_settings.top_layer_only_view_range; }
|
bool is_top_layer_only_view_range() const { return m_settings.top_layer_only_view_range; }
|
||||||
void set_top_layer_only_view_range(bool top_layer_only_view_range);
|
void toggle_top_layer_only_view_range();
|
||||||
|
|
||||||
bool is_spiral_vase_mode() const { return m_settings.spiral_vase_mode; }
|
bool is_spiral_vase_mode() const { return m_settings.spiral_vase_mode; }
|
||||||
|
|
||||||
|
@ -1108,7 +1108,10 @@ void GCodeViewer::init()
|
|||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#if ENABLE_NEW_GCODE_VIEWER
|
||||||
void GCodeViewer::load_as_gcode(const GCodeProcessorResult& gcode_result, const Print& print, const std::vector<std::string>& str_tool_colors)
|
void GCodeViewer::load_as_gcode(const GCodeProcessorResult& gcode_result, const Print& print, const std::vector<std::string>& str_tool_colors)
|
||||||
{
|
{
|
||||||
m_viewer.set_top_layer_only_view_range(get_app_config()->get_bool("seq_top_layer_only"));
|
const bool current_top_layer_only = m_viewer.is_top_layer_only_view_range();
|
||||||
|
const bool required_top_layer_only = get_app_config()->get_bool("seq_top_layer_only");
|
||||||
|
if (current_top_layer_only != required_top_layer_only)
|
||||||
|
m_viewer.toggle_top_layer_only_view_range();
|
||||||
|
|
||||||
std::vector<ColorRGBA> tool_colors;
|
std::vector<ColorRGBA> tool_colors;
|
||||||
if (m_viewer.get_view_type() == libvgcode::EViewType::Tool && !gcode_result.extruder_colors.empty())
|
if (m_viewer.get_view_type() == libvgcode::EViewType::Tool && !gcode_result.extruder_colors.empty())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user