mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-28 21:22:01 +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.
|
||||
//
|
||||
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
|
||||
// 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();
|
||||
}
|
||||
|
||||
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
|
||||
|
@ -789,9 +789,12 @@ void ViewerImpl::set_layers_view_range(Interval::value_type min, Interval::value
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,7 @@ public:
|
||||
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; }
|
||||
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; }
|
||||
|
||||
|
@ -1108,7 +1108,10 @@ void GCodeViewer::init()
|
||||
#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)
|
||||
{
|
||||
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;
|
||||
if (m_viewer.get_view_type() == libvgcode::EViewType::Tool && !gcode_result.extruder_colors.empty())
|
||||
|
Loading…
x
Reference in New Issue
Block a user