New gcode visualization integration - File structure of new code separated in api + src

This commit is contained in:
enricoturri1966 2023-11-28 08:53:47 +01:00 committed by Lukas Matena
parent 560263ea05
commit 71b2f5c288
40 changed files with 177 additions and 153 deletions

View File

@ -93,43 +93,43 @@ set(SLIC3R_GUI_SOURCES
GUI/Gizmos/GLGizmoMeasure.cpp
GUI/Gizmos/GLGizmoMeasure.hpp
#====================================================================================================================
GUI/LibVGCode/Bitset.hpp
GUI/LibVGCode/Bitset.cpp
GUI/LibVGCode/CogMarker.hpp
GUI/LibVGCode/CogMarker.cpp
GUI/LibVGCode/ColorRange.hpp
GUI/LibVGCode/ColorRange.cpp
GUI/LibVGCode/ExtrusionRoles.hpp
GUI/LibVGCode/ExtrusionRoles.cpp
GUI/LibVGCode/GCodeInputData.hpp
GUI/LibVGCode/GCodeInputData.cpp
GUI/LibVGCode/Layers.hpp
GUI/LibVGCode/Layers.cpp
GUI/LibVGCode/OpenGLUtils.hpp
GUI/LibVGCode/OpenGLUtils.cpp
GUI/LibVGCode/OptionTemplate.hpp
GUI/LibVGCode/OptionTemplate.cpp
GUI/LibVGCode/PathVertex.hpp
GUI/LibVGCode/PathVertex.cpp
GUI/LibVGCode/Range.hpp
GUI/LibVGCode/Range.cpp
GUI/LibVGCode/SegmentTemplate.hpp
GUI/LibVGCode/SegmentTemplate.cpp
GUI/LibVGCode/Settings.hpp
GUI/LibVGCode/Settings.cpp
GUI/LibVGCode/Shaders.hpp
GUI/LibVGCode/ToolMarker.hpp
GUI/LibVGCode/ToolMarker.cpp
GUI/LibVGCode/Types.hpp
GUI/LibVGCode/Types.cpp
GUI/LibVGCode/Utils.hpp
GUI/LibVGCode/Utils.cpp
GUI/LibVGCode/Viewer.hpp
GUI/LibVGCode/Viewer.cpp
GUI/LibVGCode/ViewerImpl.hpp
GUI/LibVGCode/ViewerImpl.cpp
GUI/LibVGCode/ViewRange.hpp
GUI/LibVGCode/ViewRange.cpp
GUI/LibVGCode/include/GCodeInputData.hpp
GUI/LibVGCode/include/PathVertex.hpp
GUI/LibVGCode/include/Types.hpp
GUI/LibVGCode/include/Viewer.hpp
GUI/LibVGCode/src/Bitset.hpp
GUI/LibVGCode/src/Bitset.cpp
GUI/LibVGCode/src/CogMarker.hpp
GUI/LibVGCode/src/CogMarker.cpp
GUI/LibVGCode/src/ColorRange.hpp
GUI/LibVGCode/src/ColorRange.cpp
GUI/LibVGCode/src/ExtrusionRoles.hpp
GUI/LibVGCode/src/ExtrusionRoles.cpp
GUI/LibVGCode/src/GCodeInputData.cpp
GUI/LibVGCode/src/Layers.hpp
GUI/LibVGCode/src/Layers.cpp
GUI/LibVGCode/src/OpenGLUtils.hpp
GUI/LibVGCode/src/OpenGLUtils.cpp
GUI/LibVGCode/src/OptionTemplate.hpp
GUI/LibVGCode/src/OptionTemplate.cpp
GUI/LibVGCode/src/PathVertex.cpp
GUI/LibVGCode/src/Range.hpp
GUI/LibVGCode/src/Range.cpp
GUI/LibVGCode/src/SegmentTemplate.hpp
GUI/LibVGCode/src/SegmentTemplate.cpp
GUI/LibVGCode/src/Settings.hpp
GUI/LibVGCode/src/Settings.cpp
GUI/LibVGCode/src/Shaders.hpp
GUI/LibVGCode/src/ToolMarker.hpp
GUI/LibVGCode/src/ToolMarker.cpp
GUI/LibVGCode/src/Types.cpp
GUI/LibVGCode/src/Utils.hpp
GUI/LibVGCode/src/Utils.cpp
GUI/LibVGCode/src/Viewer.cpp
GUI/LibVGCode/src/ViewerImpl.hpp
GUI/LibVGCode/src/ViewerImpl.cpp
GUI/LibVGCode/src/ViewRange.hpp
GUI/LibVGCode/src/ViewRange.cpp
#====================================================================================================================
GUI/GLSelectionRectangle.cpp
GUI/GLSelectionRectangle.hpp

View File

@ -4012,8 +4012,8 @@ void GCodeViewer::render_new_toolpaths()
add_range_property_row("fan speed range", m_new_viewer.get_fan_speed_range());
add_range_property_row("temperature range", m_new_viewer.get_temperature_range());
add_range_property_row("volumetric rate range", m_new_viewer.get_volumetric_rate_range());
add_range_property_row("layer time linear range", m_new_viewer.get_layer_time_range(libvgcode::ColorRange::EType::Linear));
add_range_property_row("layer time logarithmic range", m_new_viewer.get_layer_time_range(libvgcode::ColorRange::EType::Logarithmic));
add_range_property_row("layer time linear range", m_new_viewer.get_layer_time_range(libvgcode::EColorRangeType::Linear));
add_range_property_row("layer time logarithmic range", m_new_viewer.get_layer_time_range(libvgcode::EColorRangeType::Logarithmic));
ImGui::EndTable();
@ -4051,9 +4051,13 @@ void GCodeViewer::render_new_toolpaths()
ImGui::TableSetColumnIndex(0);
imgui.text_colored(Slic3r::GUI::ImGuiWrapper::COL_ORANGE_LIGHT, "Tool marker color");
ImGui::TableSetColumnIndex(1);
libvgcode::Color color = m_new_viewer.get_tool_marker_color();
if (ImGui::ColorPicker3("##ToolColor", color.data()))
m_new_viewer.set_tool_marker_color(color);
const libvgcode::Color& color = m_new_viewer.get_tool_marker_color();
std::array<float, 3> c = { static_cast<float>(color[0]) / 255.0f, static_cast<float>(color[1]) / 255.0f, static_cast<float>(color[2]) / 255.0f };
if (ImGui::ColorPicker3("##ToolColor", c.data())) {
m_new_viewer.set_tool_marker_color({ static_cast<uint8_t>(c[0] * 255.0f),
static_cast<uint8_t>(c[1] * 255.0f),
static_cast<uint8_t>(c[2] * 255.0f) });
}
ImGui::TableNextRow();
ImGui::TableSetColumnIndex(0);

View File

@ -14,7 +14,9 @@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#if ENABLE_NEW_GCODE_VIEWER
#include "LibVGCode/Viewer.hpp"
#include "LibVGCode/include/Viewer.hpp"
#include "LibVGCode/include/PathVertex.hpp"
#include "LibVGCode/include/GCodeInputData.hpp"
#endif // ENABLE_NEW_GCODE_VIEWER
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

View File

@ -142,6 +142,18 @@ enum class ETimeMode : uint8_t
static constexpr size_t Time_Modes_Count = static_cast<size_t>(ETimeMode::COUNT);
//
// Color range type
//
enum class EColorRangeType : uint8_t
{
Linear,
Logarithmic,
COUNT
};
static constexpr size_t Color_Range_Types_Count = static_cast<size_t>(EColorRangeType::COUNT);
//
// Predefined colors
//

View File

@ -10,17 +10,19 @@
#if ENABLE_NEW_GCODE_VIEWER
//################################################################################################################################
#include "ViewerImpl.hpp"
#include "Types.hpp"
#include "GCodeInputData.hpp"
namespace libvgcode {
class ViewerImpl;
struct GCodeInputData;
struct PathVertex;
class Viewer
{
public:
Viewer() = default;
~Viewer() = default;
Viewer();
~Viewer();
Viewer(const Viewer& other) = delete;
Viewer(Viewer&& other) = delete;
Viewer& operator = (const Viewer& other) = delete;
@ -139,7 +141,7 @@ public:
const std::array<float, 2>& get_fan_speed_range() const;
const std::array<float, 2>& get_temperature_range() const;
const std::array<float, 2>& get_volumetric_rate_range() const;
std::array<float, 2> get_layer_time_range(ColorRange::EType type) const;
std::array<float, 2> get_layer_time_range(EColorRangeType type) const;
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
//
@ -176,7 +178,7 @@ public:
#endif // !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
private:
ViewerImpl m_impl;
ViewerImpl* m_impl{ nullptr };
};
} // namespace libvgcode

View File

@ -11,7 +11,7 @@
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
//################################################################################################################################
#include "Types.hpp"
#include "..\include\Types.hpp"
namespace libvgcode {

View File

@ -19,7 +19,7 @@
namespace libvgcode {
ColorRange::ColorRange(EType type)
ColorRange::ColorRange(EColorRangeType type)
: m_type(type)
{
}
@ -35,23 +35,23 @@ void ColorRange::reset()
m_range = { FLT_MAX, -FLT_MAX };
}
static float step_size(const std::array<float, 2>& range, ColorRange::EType type)
static float step_size(const std::array<float, 2>& range, EColorRangeType type)
{
switch (type)
{
default:
case ColorRange::EType::Linear:
case EColorRangeType::Linear:
{
return (range[1] - range[0]) / ((float)Ranges_Colors.size() - 1.0f);
return (range[1] - range[0]) / (static_cast<float>(Ranges_Colors.size()) - 1.0f);
}
case ColorRange::EType::Logarithmic:
case EColorRangeType::Logarithmic:
{
return (range[0] != 0.0f) ? std::log(range[1] / range[0]) / ((float)Ranges_Colors.size() - 1.0f) : 0.0f;
return (range[0] != 0.0f) ? std::log(range[1] / range[0]) / (static_cast<float>(Ranges_Colors.size()) - 1.0f) : 0.0f;
}
}
}
ColorRange::EType ColorRange::get_type() const
EColorRangeType ColorRange::get_type() const
{
return m_type;
}
@ -63,7 +63,7 @@ Color ColorRange::get_color_at(float value) const
value = std::clamp(value, m_range[0], m_range[1]);
const float step = step_size(m_range, m_type);
if (step > 0.0f) {
if (m_type == EType::Logarithmic) {
if (m_type == EColorRangeType::Logarithmic) {
if (m_range[0] != 0.0f)
global_t = log(value / m_range[0]) / step;
}

View File

@ -10,38 +10,33 @@
#if ENABLE_NEW_GCODE_VIEWER
//################################################################################################################################
#include "Types.hpp"
#include "../include/Types.hpp"
namespace libvgcode {
class ColorRange
{
public:
enum class EType : uint8_t
{
Linear,
Logarithmic,
COUNT
};
explicit ColorRange(EType type = EType::Linear);
explicit ColorRange(EColorRangeType type = EColorRangeType::Linear);
void update(float value);
void reset();
EType get_type() const;
EColorRangeType get_type() const;
Color get_color_at(float value) const;
const std::array<float, 2>& get_range() const;
private:
EType m_type{ EType::Linear };
// [0] = min, [1] = max
EColorRangeType m_type{ EColorRangeType::Linear };
//
// [0] = min
// [1] = max
//
std::array<float, 2> m_range{ FLT_MAX, -FLT_MAX };
};
static constexpr size_t Color_Range_Types_Count = static_cast<size_t>(ColorRange::EType::COUNT);
} // namespace libvgcode
//################################################################################################################################

View File

@ -10,7 +10,7 @@
#if ENABLE_NEW_GCODE_VIEWER
//################################################################################################################################
#include "Types.hpp"
#include "../include/Types.hpp"
#include <map>

View File

@ -7,7 +7,7 @@
///|/
///|/ libvgcode is released under the terms of the AGPLv3 or higher
///|/
#include "GCodeInputData.hpp"
#include "../include/GCodeInputData.hpp"
//################################################################################################################################
// PrusaSlicer development only -> !!!TO BE REMOVED!!!

View File

@ -9,7 +9,7 @@
///|/
#include "Layers.hpp"
#include "PathVertex.hpp"
#include "../include/PathVertex.hpp"
//################################################################################################################################
// PrusaSlicer development only -> !!!TO BE REMOVED!!!

View File

@ -10,7 +10,7 @@
#if ENABLE_NEW_GCODE_VIEWER
//################################################################################################################################
#include "Types.hpp"
#include "../include/Types.hpp"
#include "Range.hpp"
namespace libvgcode {

View File

@ -7,7 +7,7 @@
///|/
///|/ libvgcode is released under the terms of the AGPLv3 or higher
///|/
#include "PathVertex.hpp"
#include "../include/PathVertex.hpp"
//################################################################################################################################
// PrusaSlicer development only -> !!!TO BE REMOVED!!!

View File

@ -10,7 +10,7 @@
#if ENABLE_NEW_GCODE_VIEWER
//################################################################################################################################
#include "Types.hpp"
#include "../include/Types.hpp"
#include <map>

View File

@ -11,7 +11,7 @@
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
//################################################################################################################################
#include "Types.hpp"
#include "..\include\Types.hpp"
namespace libvgcode {
@ -47,7 +47,7 @@ private:
bool m_enabled{ false };
Vec3 m_position{ 0.0f, 0.0f, 0.0f };
float m_offset_z{ 0.5f };
Color m_color{ 1.0f, 1.0f, 1.0f };
Color m_color{ 255, 255, 255 };
float m_alpha{ 0.5f };
uint16_t m_indices_count{ 0 };

View File

@ -7,7 +7,7 @@
///|/
///|/ libvgcode is released under the terms of the AGPLv3 or higher
///|/
#include "Types.hpp"
#include "../include/Types.hpp"
//################################################################################################################################
// PrusaSlicer development only -> !!!TO BE REMOVED!!!

View File

@ -10,9 +10,7 @@
#if ENABLE_NEW_GCODE_VIEWER
//################################################################################################################################
#include "Types.hpp"
#include <vector>
#include "../include/Types.hpp"
namespace libvgcode {

View File

@ -7,7 +7,8 @@
///|/
///|/ libvgcode is released under the terms of the AGPLv3 or higher
///|/
#include "Viewer.hpp"
#include "..\include\Viewer.hpp"
#include "ViewerImpl.hpp"
//################################################################################################################################
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
@ -16,310 +17,320 @@
namespace libvgcode {
Viewer::Viewer()
{
m_impl = new ViewerImpl();
}
Viewer::~Viewer()
{
delete m_impl;
}
void Viewer::init()
{
m_impl.init();
m_impl->init();
}
void Viewer::reset()
{
m_impl.reset();
m_impl->reset();
}
void Viewer::load(GCodeInputData&& gcode_data)
{
m_impl.load(std::move(gcode_data));
m_impl->load(std::move(gcode_data));
}
void Viewer::render(const Mat4x4& view_matrix, const Mat4x4& projection_matrix)
{
m_impl.render(view_matrix, projection_matrix);
m_impl->render(view_matrix, projection_matrix);
}
EViewType Viewer::get_view_type() const
{
return m_impl.get_view_type();
return m_impl->get_view_type();
}
void Viewer::set_view_type(EViewType type)
{
m_impl.set_view_type(type);
m_impl->set_view_type(type);
}
ETimeMode Viewer::get_time_mode() const
{
return m_impl.get_time_mode();
return m_impl->get_time_mode();
}
void Viewer::set_time_mode(ETimeMode mode)
{
m_impl.set_time_mode(mode);
m_impl->set_time_mode(mode);
}
const std::array<uint32_t, 2>& Viewer::get_layers_range() const
{
return m_impl.get_layers_range();
return m_impl->get_layers_range();
}
void Viewer::set_layers_range(const std::array<uint32_t, 2>& range)
{
m_impl.set_layers_range(range);
m_impl->set_layers_range(range);
}
void Viewer::set_layers_range(uint32_t min, uint32_t max)
{
m_impl.set_layers_range(min, max);
m_impl->set_layers_range(min, max);
}
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_view_range)
{
m_impl.set_top_layer_only_view_range(top_layer_only_view_range);
m_impl->set_top_layer_only_view_range(top_layer_only_view_range);
}
bool Viewer::is_option_visible(EOptionType type) const
{
return m_impl.is_option_visible(type);
return m_impl->is_option_visible(type);
}
void Viewer::toggle_option_visibility(EOptionType type)
{
m_impl.toggle_option_visibility(type);
m_impl->toggle_option_visibility(type);
}
bool Viewer::is_extrusion_role_visible(EGCodeExtrusionRole role) const
{
return m_impl.is_extrusion_role_visible(role);
return m_impl->is_extrusion_role_visible(role);
}
void Viewer::toggle_extrusion_role_visibility(EGCodeExtrusionRole role)
{
m_impl.toggle_extrusion_role_visibility(role);
m_impl->toggle_extrusion_role_visibility(role);
}
const std::array<uint32_t, 2>& Viewer::get_view_full_range() const
{
return m_impl.get_view_full_range();
return m_impl->get_view_full_range();
}
const std::array<uint32_t, 2>& Viewer::get_view_enabled_range() const
{
return m_impl.get_view_enabled_range();
return m_impl->get_view_enabled_range();
}
const std::array<uint32_t, 2>& Viewer::get_view_visible_range() const
{
return m_impl.get_view_visible_range();
return m_impl->get_view_visible_range();
}
void Viewer::set_view_visible_range(uint32_t min, uint32_t max)
{
m_impl.set_view_visible_range(min, max);
m_impl->set_view_visible_range(min, max);
}
uint32_t Viewer::get_vertices_count() const
{
return m_impl.get_vertices_count();
return m_impl->get_vertices_count();
}
PathVertex Viewer::get_current_vertex() const
{
return m_impl.get_current_vertex();
return m_impl->get_current_vertex();
}
PathVertex Viewer::get_vertex_at(uint32_t id) const
{
return m_impl.get_vertex_at(id);
return m_impl->get_vertex_at(id);
}
size_t Viewer::get_enabled_segments_count() const
{
return m_impl.get_enabled_segments_count();
return m_impl->get_enabled_segments_count();
}
const std::array<uint32_t, 2>& Viewer::get_enabled_segments_range() const
{
return m_impl.get_enabled_segments_range();
return m_impl->get_enabled_segments_range();
}
size_t Viewer::get_enabled_options_count() const
{
return m_impl.get_enabled_options_count();
return m_impl->get_enabled_options_count();
}
const std::array<uint32_t, 2>& Viewer::get_enabled_options_range() const
{
return m_impl.get_enabled_options_range();
return m_impl->get_enabled_options_range();
}
uint32_t Viewer::get_extrusion_roles_count() const
{
return m_impl.get_extrusion_roles_count();
return m_impl->get_extrusion_roles_count();
}
std::vector<EGCodeExtrusionRole> Viewer::get_extrusion_roles() const
{
return m_impl.get_extrusion_roles();
return m_impl->get_extrusion_roles();
}
float Viewer::get_extrusion_role_time(EGCodeExtrusionRole role) const
{
return m_impl.get_extrusion_role_time(role);
return m_impl->get_extrusion_role_time(role);
}
float Viewer::get_extrusion_role_time(EGCodeExtrusionRole role, ETimeMode mode) const
{
return m_impl.get_extrusion_role_time(role, mode);
return m_impl->get_extrusion_role_time(role, mode);
}
float Viewer::get_travels_time() const
{
return m_impl.get_travels_time();
return m_impl->get_travels_time();
}
float Viewer::get_travels_time(ETimeMode mode) const
{
return m_impl.get_travels_time(mode);
return m_impl->get_travels_time(mode);
}
std::vector<float> Viewer::get_layers_times() const
{
return m_impl.get_layers_times();
return m_impl->get_layers_times();
}
std::vector<float> Viewer::get_layers_times(ETimeMode mode) const
{
return m_impl.get_layers_times(mode);
return m_impl->get_layers_times(mode);
}
size_t Viewer::get_tool_colors_count() const
{
return m_impl.get_tool_colors_count();
return m_impl->get_tool_colors_count();
}
const std::vector<Color>& Viewer::get_tool_colors() const
{
return m_impl.get_tool_colors();
return m_impl->get_tool_colors();
}
void Viewer::set_tool_colors(const std::vector<Color>& colors)
{
m_impl.set_tool_colors(colors);
m_impl->set_tool_colors(colors);
}
const std::array<float, 2>& Viewer::get_height_range() const
{
return m_impl.get_height_range();
return m_impl->get_height_range();
}
const std::array<float, 2>& Viewer::get_width_range() const
{
return m_impl.get_width_range();
return m_impl->get_width_range();
}
const std::array<float, 2>& Viewer::get_speed_range() const
{
return m_impl.get_speed_range();
return m_impl->get_speed_range();
}
const std::array<float, 2>& Viewer::get_fan_speed_range() const
{
return m_impl.get_fan_speed_range();
return m_impl->get_fan_speed_range();
}
const std::array<float, 2>& Viewer::get_temperature_range() const
{
return m_impl.get_temperature_range();
return m_impl->get_temperature_range();
}
const std::array<float, 2>& Viewer::get_volumetric_rate_range() const
{
return m_impl.get_volumetric_rate_range();
return m_impl->get_volumetric_rate_range();
}
std::array<float, 2> Viewer::get_layer_time_range(ColorRange::EType type) const
std::array<float, 2> Viewer::get_layer_time_range(EColorRangeType type) const
{
return m_impl.get_layer_time_range(type);
return m_impl->get_layer_time_range(type);
}
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
Vec3 Viewer::get_cog_position() const
{
return m_impl.get_cog_marker_position();
return m_impl->get_cog_marker_position();
}
float Viewer::get_cog_marker_scale_factor() const
{
return m_impl.get_cog_marker_scale_factor();
return m_impl->get_cog_marker_scale_factor();
}
void Viewer::set_cog_marker_scale_factor(float factor)
{
m_impl.set_cog_marker_scale_factor(factor);
m_impl->set_cog_marker_scale_factor(factor);
}
bool Viewer::is_tool_marker_enabled() const
{
return m_impl.is_tool_marker_enabled();
return m_impl->is_tool_marker_enabled();
}
void Viewer::enable_tool_marker(bool value)
{
m_impl.enable_tool_marker(value);
m_impl->enable_tool_marker(value);
}
const Vec3& Viewer::get_tool_marker_position() const
{
return m_impl.get_tool_marker_position();
return m_impl->get_tool_marker_position();
}
void Viewer::set_tool_marker_position(const Vec3& position)
{
m_impl.set_tool_marker_position(position);
m_impl->set_tool_marker_position(position);
}
float Viewer::get_tool_marker_offset_z() const
{
return m_impl.get_tool_marker_offset_z();
return m_impl->get_tool_marker_offset_z();
}
void Viewer::set_tool_marker_offset_z(float offset_z)
{
m_impl.set_tool_marker_offset_z(offset_z);
m_impl->set_tool_marker_offset_z(offset_z);
}
float Viewer::get_tool_marker_scale_factor() const
{
return m_impl.get_tool_marker_scale_factor();
return m_impl->get_tool_marker_scale_factor();
}
void Viewer::set_tool_marker_scale_factor(float factor)
{
m_impl.set_tool_marker_scale_factor(factor);
m_impl->set_tool_marker_scale_factor(factor);
}
const Color& Viewer::get_tool_marker_color() const
{
return m_impl.get_tool_marker_color();
return m_impl->get_tool_marker_color();
}
void Viewer::set_tool_marker_color(const Color& color)
{
m_impl.set_tool_marker_color(color);
m_impl->set_tool_marker_color(color);
}
float Viewer::get_tool_marker_alpha() const
{
return m_impl.get_tool_marker_alpha();
return m_impl->get_tool_marker_alpha();
}
void Viewer::set_tool_marker_alpha(float alpha)
{
m_impl.set_tool_marker_alpha(alpha);
m_impl->set_tool_marker_alpha(alpha);
}
#endif // !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS

View File

@ -8,10 +8,10 @@
///|/ libvgcode is released under the terms of the AGPLv3 or higher
///|/
#include "ViewerImpl.hpp"
#include "../include/GCodeInputData.hpp"
#include "Shaders.hpp"
#include "OpenGLUtils.hpp"
#include "Utils.hpp"
#include "GCodeInputData.hpp"
//################################################################################################################################
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
@ -969,7 +969,7 @@ const std::array<float, 2>& ViewerImpl::get_volumetric_rate_range() const
return m_volumetric_rate_range.get_range();
}
std::array<float, 2> ViewerImpl::get_layer_time_range(ColorRange::EType type) const
std::array<float, 2> ViewerImpl::get_layer_time_range(EColorRangeType type) const
{
try {
return m_layer_time_range[static_cast<size_t>(type)].get_range();

View File

@ -17,7 +17,7 @@
#include "CogMarker.hpp"
#include "ToolMarker.hpp"
#endif // !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
#include "PathVertex.hpp"
#include "../include/PathVertex.hpp"
#include "Bitset.hpp"
#include "ColorRange.hpp"
#include "ViewRange.hpp"
@ -125,7 +125,7 @@ public:
const std::array<float, 2>& get_fan_speed_range() const;
const std::array<float, 2>& get_temperature_range() const;
const std::array<float, 2>& get_volumetric_rate_range() const;
std::array<float, 2> get_layer_time_range(ColorRange::EType type) const;
std::array<float, 2> get_layer_time_range(EColorRangeType type) const;
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
Vec3 get_cog_marker_position() const;
@ -207,7 +207,7 @@ private:
ColorRange m_temperature_range;
ColorRange m_volumetric_rate_range;
std::array<ColorRange, Color_Range_Types_Count> m_layer_time_range{
ColorRange(ColorRange::EType::Linear), ColorRange(ColorRange::EType::Logarithmic)
ColorRange(EColorRangeType::Linear), ColorRange(EColorRangeType::Logarithmic)
};
std::vector<Color> m_tool_colors;