mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-15 00:16:04 +08:00
New gcode visualization integration - File structure of new code separated in api + src
This commit is contained in:
parent
560263ea05
commit
71b2f5c288
@ -93,43 +93,43 @@ set(SLIC3R_GUI_SOURCES
|
|||||||
GUI/Gizmos/GLGizmoMeasure.cpp
|
GUI/Gizmos/GLGizmoMeasure.cpp
|
||||||
GUI/Gizmos/GLGizmoMeasure.hpp
|
GUI/Gizmos/GLGizmoMeasure.hpp
|
||||||
#====================================================================================================================
|
#====================================================================================================================
|
||||||
GUI/LibVGCode/Bitset.hpp
|
GUI/LibVGCode/include/GCodeInputData.hpp
|
||||||
GUI/LibVGCode/Bitset.cpp
|
GUI/LibVGCode/include/PathVertex.hpp
|
||||||
GUI/LibVGCode/CogMarker.hpp
|
GUI/LibVGCode/include/Types.hpp
|
||||||
GUI/LibVGCode/CogMarker.cpp
|
GUI/LibVGCode/include/Viewer.hpp
|
||||||
GUI/LibVGCode/ColorRange.hpp
|
GUI/LibVGCode/src/Bitset.hpp
|
||||||
GUI/LibVGCode/ColorRange.cpp
|
GUI/LibVGCode/src/Bitset.cpp
|
||||||
GUI/LibVGCode/ExtrusionRoles.hpp
|
GUI/LibVGCode/src/CogMarker.hpp
|
||||||
GUI/LibVGCode/ExtrusionRoles.cpp
|
GUI/LibVGCode/src/CogMarker.cpp
|
||||||
GUI/LibVGCode/GCodeInputData.hpp
|
GUI/LibVGCode/src/ColorRange.hpp
|
||||||
GUI/LibVGCode/GCodeInputData.cpp
|
GUI/LibVGCode/src/ColorRange.cpp
|
||||||
GUI/LibVGCode/Layers.hpp
|
GUI/LibVGCode/src/ExtrusionRoles.hpp
|
||||||
GUI/LibVGCode/Layers.cpp
|
GUI/LibVGCode/src/ExtrusionRoles.cpp
|
||||||
GUI/LibVGCode/OpenGLUtils.hpp
|
GUI/LibVGCode/src/GCodeInputData.cpp
|
||||||
GUI/LibVGCode/OpenGLUtils.cpp
|
GUI/LibVGCode/src/Layers.hpp
|
||||||
GUI/LibVGCode/OptionTemplate.hpp
|
GUI/LibVGCode/src/Layers.cpp
|
||||||
GUI/LibVGCode/OptionTemplate.cpp
|
GUI/LibVGCode/src/OpenGLUtils.hpp
|
||||||
GUI/LibVGCode/PathVertex.hpp
|
GUI/LibVGCode/src/OpenGLUtils.cpp
|
||||||
GUI/LibVGCode/PathVertex.cpp
|
GUI/LibVGCode/src/OptionTemplate.hpp
|
||||||
GUI/LibVGCode/Range.hpp
|
GUI/LibVGCode/src/OptionTemplate.cpp
|
||||||
GUI/LibVGCode/Range.cpp
|
GUI/LibVGCode/src/PathVertex.cpp
|
||||||
GUI/LibVGCode/SegmentTemplate.hpp
|
GUI/LibVGCode/src/Range.hpp
|
||||||
GUI/LibVGCode/SegmentTemplate.cpp
|
GUI/LibVGCode/src/Range.cpp
|
||||||
GUI/LibVGCode/Settings.hpp
|
GUI/LibVGCode/src/SegmentTemplate.hpp
|
||||||
GUI/LibVGCode/Settings.cpp
|
GUI/LibVGCode/src/SegmentTemplate.cpp
|
||||||
GUI/LibVGCode/Shaders.hpp
|
GUI/LibVGCode/src/Settings.hpp
|
||||||
GUI/LibVGCode/ToolMarker.hpp
|
GUI/LibVGCode/src/Settings.cpp
|
||||||
GUI/LibVGCode/ToolMarker.cpp
|
GUI/LibVGCode/src/Shaders.hpp
|
||||||
GUI/LibVGCode/Types.hpp
|
GUI/LibVGCode/src/ToolMarker.hpp
|
||||||
GUI/LibVGCode/Types.cpp
|
GUI/LibVGCode/src/ToolMarker.cpp
|
||||||
GUI/LibVGCode/Utils.hpp
|
GUI/LibVGCode/src/Types.cpp
|
||||||
GUI/LibVGCode/Utils.cpp
|
GUI/LibVGCode/src/Utils.hpp
|
||||||
GUI/LibVGCode/Viewer.hpp
|
GUI/LibVGCode/src/Utils.cpp
|
||||||
GUI/LibVGCode/Viewer.cpp
|
GUI/LibVGCode/src/Viewer.cpp
|
||||||
GUI/LibVGCode/ViewerImpl.hpp
|
GUI/LibVGCode/src/ViewerImpl.hpp
|
||||||
GUI/LibVGCode/ViewerImpl.cpp
|
GUI/LibVGCode/src/ViewerImpl.cpp
|
||||||
GUI/LibVGCode/ViewRange.hpp
|
GUI/LibVGCode/src/ViewRange.hpp
|
||||||
GUI/LibVGCode/ViewRange.cpp
|
GUI/LibVGCode/src/ViewRange.cpp
|
||||||
#====================================================================================================================
|
#====================================================================================================================
|
||||||
GUI/GLSelectionRectangle.cpp
|
GUI/GLSelectionRectangle.cpp
|
||||||
GUI/GLSelectionRectangle.hpp
|
GUI/GLSelectionRectangle.hpp
|
||||||
|
@ -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("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("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("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 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::ColorRange::EType::Logarithmic));
|
add_range_property_row("layer time logarithmic range", m_new_viewer.get_layer_time_range(libvgcode::EColorRangeType::Logarithmic));
|
||||||
|
|
||||||
ImGui::EndTable();
|
ImGui::EndTable();
|
||||||
|
|
||||||
@ -4051,9 +4051,13 @@ void GCodeViewer::render_new_toolpaths()
|
|||||||
ImGui::TableSetColumnIndex(0);
|
ImGui::TableSetColumnIndex(0);
|
||||||
imgui.text_colored(Slic3r::GUI::ImGuiWrapper::COL_ORANGE_LIGHT, "Tool marker color");
|
imgui.text_colored(Slic3r::GUI::ImGuiWrapper::COL_ORANGE_LIGHT, "Tool marker color");
|
||||||
ImGui::TableSetColumnIndex(1);
|
ImGui::TableSetColumnIndex(1);
|
||||||
libvgcode::Color color = m_new_viewer.get_tool_marker_color();
|
const libvgcode::Color& color = m_new_viewer.get_tool_marker_color();
|
||||||
if (ImGui::ColorPicker3("##ToolColor", color.data()))
|
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 };
|
||||||
m_new_viewer.set_tool_marker_color(color);
|
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::TableNextRow();
|
||||||
ImGui::TableSetColumnIndex(0);
|
ImGui::TableSetColumnIndex(0);
|
||||||
|
@ -14,7 +14,9 @@
|
|||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#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
|
#endif // ENABLE_NEW_GCODE_VIEWER
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||||
|
|
||||||
|
@ -142,6 +142,18 @@ enum class ETimeMode : uint8_t
|
|||||||
|
|
||||||
static constexpr size_t Time_Modes_Count = static_cast<size_t>(ETimeMode::COUNT);
|
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
|
// Predefined colors
|
||||||
//
|
//
|
@ -10,17 +10,19 @@
|
|||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#if ENABLE_NEW_GCODE_VIEWER
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "ViewerImpl.hpp"
|
|
||||||
#include "Types.hpp"
|
#include "Types.hpp"
|
||||||
#include "GCodeInputData.hpp"
|
|
||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
||||||
|
|
||||||
|
class ViewerImpl;
|
||||||
|
struct GCodeInputData;
|
||||||
|
struct PathVertex;
|
||||||
|
|
||||||
class Viewer
|
class Viewer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Viewer() = default;
|
Viewer();
|
||||||
~Viewer() = default;
|
~Viewer();
|
||||||
Viewer(const Viewer& other) = delete;
|
Viewer(const Viewer& other) = delete;
|
||||||
Viewer(Viewer&& other) = delete;
|
Viewer(Viewer&& other) = delete;
|
||||||
Viewer& operator = (const 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_fan_speed_range() const;
|
||||||
const std::array<float, 2>& get_temperature_range() const;
|
const std::array<float, 2>& get_temperature_range() const;
|
||||||
const std::array<float, 2>& get_volumetric_rate_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
|
#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
|
#endif // !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ViewerImpl m_impl;
|
ViewerImpl* m_impl{ nullptr };
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace libvgcode
|
} // namespace libvgcode
|
@ -11,7 +11,7 @@
|
|||||||
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "Types.hpp"
|
#include "..\include\Types.hpp"
|
||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
||||||
|
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
||||||
|
|
||||||
ColorRange::ColorRange(EType type)
|
ColorRange::ColorRange(EColorRangeType type)
|
||||||
: m_type(type)
|
: m_type(type)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -35,23 +35,23 @@ void ColorRange::reset()
|
|||||||
m_range = { FLT_MAX, -FLT_MAX };
|
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)
|
switch (type)
|
||||||
{
|
{
|
||||||
default:
|
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;
|
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]);
|
value = std::clamp(value, m_range[0], m_range[1]);
|
||||||
const float step = step_size(m_range, m_type);
|
const float step = step_size(m_range, m_type);
|
||||||
if (step > 0.0f) {
|
if (step > 0.0f) {
|
||||||
if (m_type == EType::Logarithmic) {
|
if (m_type == EColorRangeType::Logarithmic) {
|
||||||
if (m_range[0] != 0.0f)
|
if (m_range[0] != 0.0f)
|
||||||
global_t = log(value / m_range[0]) / step;
|
global_t = log(value / m_range[0]) / step;
|
||||||
}
|
}
|
@ -10,38 +10,33 @@
|
|||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#if ENABLE_NEW_GCODE_VIEWER
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "Types.hpp"
|
#include "../include/Types.hpp"
|
||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
||||||
|
|
||||||
class ColorRange
|
class ColorRange
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum class EType : uint8_t
|
explicit ColorRange(EColorRangeType type = EColorRangeType::Linear);
|
||||||
{
|
|
||||||
Linear,
|
|
||||||
Logarithmic,
|
|
||||||
COUNT
|
|
||||||
};
|
|
||||||
|
|
||||||
explicit ColorRange(EType type = EType::Linear);
|
|
||||||
|
|
||||||
void update(float value);
|
void update(float value);
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
EType get_type() const;
|
EColorRangeType get_type() const;
|
||||||
Color get_color_at(float value) const;
|
Color get_color_at(float value) const;
|
||||||
|
|
||||||
const std::array<float, 2>& get_range() const;
|
const std::array<float, 2>& get_range() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EType m_type{ EType::Linear };
|
EColorRangeType m_type{ EColorRangeType::Linear };
|
||||||
// [0] = min, [1] = max
|
|
||||||
|
//
|
||||||
|
// [0] = min
|
||||||
|
// [1] = max
|
||||||
|
//
|
||||||
std::array<float, 2> m_range{ FLT_MAX, -FLT_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
|
} // namespace libvgcode
|
||||||
|
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
@ -10,7 +10,7 @@
|
|||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#if ENABLE_NEW_GCODE_VIEWER
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "Types.hpp"
|
#include "../include/Types.hpp"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
@ -7,7 +7,7 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "GCodeInputData.hpp"
|
#include "../include/GCodeInputData.hpp"
|
||||||
|
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
@ -9,7 +9,7 @@
|
|||||||
///|/
|
///|/
|
||||||
#include "Layers.hpp"
|
#include "Layers.hpp"
|
||||||
|
|
||||||
#include "PathVertex.hpp"
|
#include "../include/PathVertex.hpp"
|
||||||
|
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
@ -10,7 +10,7 @@
|
|||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#if ENABLE_NEW_GCODE_VIEWER
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "Types.hpp"
|
#include "../include/Types.hpp"
|
||||||
#include "Range.hpp"
|
#include "Range.hpp"
|
||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
@ -7,7 +7,7 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "PathVertex.hpp"
|
#include "../include/PathVertex.hpp"
|
||||||
|
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
@ -10,7 +10,7 @@
|
|||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#if ENABLE_NEW_GCODE_VIEWER
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "Types.hpp"
|
#include "../include/Types.hpp"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "Types.hpp"
|
#include "..\include\Types.hpp"
|
||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ private:
|
|||||||
bool m_enabled{ false };
|
bool m_enabled{ false };
|
||||||
Vec3 m_position{ 0.0f, 0.0f, 0.0f };
|
Vec3 m_position{ 0.0f, 0.0f, 0.0f };
|
||||||
float m_offset_z{ 0.5f };
|
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 };
|
float m_alpha{ 0.5f };
|
||||||
|
|
||||||
uint16_t m_indices_count{ 0 };
|
uint16_t m_indices_count{ 0 };
|
@ -7,7 +7,7 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "Types.hpp"
|
#include "../include/Types.hpp"
|
||||||
|
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
@ -10,9 +10,7 @@
|
|||||||
#if ENABLE_NEW_GCODE_VIEWER
|
#if ENABLE_NEW_GCODE_VIEWER
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
|
|
||||||
#include "Types.hpp"
|
#include "../include/Types.hpp"
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
||||||
|
|
@ -7,7 +7,8 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
///|/ 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!!!
|
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
||||||
@ -16,310 +17,320 @@
|
|||||||
|
|
||||||
namespace libvgcode {
|
namespace libvgcode {
|
||||||
|
|
||||||
|
Viewer::Viewer()
|
||||||
|
{
|
||||||
|
m_impl = new ViewerImpl();
|
||||||
|
}
|
||||||
|
|
||||||
|
Viewer::~Viewer()
|
||||||
|
{
|
||||||
|
delete m_impl;
|
||||||
|
}
|
||||||
|
|
||||||
void Viewer::init()
|
void Viewer::init()
|
||||||
{
|
{
|
||||||
m_impl.init();
|
m_impl->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Viewer::reset()
|
void Viewer::reset()
|
||||||
{
|
{
|
||||||
m_impl.reset();
|
m_impl->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Viewer::load(GCodeInputData&& gcode_data)
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
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)
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
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
|
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
|
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)
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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)
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||||
Vec3 Viewer::get_cog_position() const
|
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
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
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)
|
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
|
#endif // !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||||
|
|
@ -8,10 +8,10 @@
|
|||||||
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
///|/ libvgcode is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "ViewerImpl.hpp"
|
#include "ViewerImpl.hpp"
|
||||||
|
#include "../include/GCodeInputData.hpp"
|
||||||
#include "Shaders.hpp"
|
#include "Shaders.hpp"
|
||||||
#include "OpenGLUtils.hpp"
|
#include "OpenGLUtils.hpp"
|
||||||
#include "Utils.hpp"
|
#include "Utils.hpp"
|
||||||
#include "GCodeInputData.hpp"
|
|
||||||
|
|
||||||
//################################################################################################################################
|
//################################################################################################################################
|
||||||
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
// 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();
|
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 {
|
try {
|
||||||
return m_layer_time_range[static_cast<size_t>(type)].get_range();
|
return m_layer_time_range[static_cast<size_t>(type)].get_range();
|
@ -17,7 +17,7 @@
|
|||||||
#include "CogMarker.hpp"
|
#include "CogMarker.hpp"
|
||||||
#include "ToolMarker.hpp"
|
#include "ToolMarker.hpp"
|
||||||
#endif // !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
#endif // !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||||
#include "PathVertex.hpp"
|
#include "../include/PathVertex.hpp"
|
||||||
#include "Bitset.hpp"
|
#include "Bitset.hpp"
|
||||||
#include "ColorRange.hpp"
|
#include "ColorRange.hpp"
|
||||||
#include "ViewRange.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_fan_speed_range() const;
|
||||||
const std::array<float, 2>& get_temperature_range() const;
|
const std::array<float, 2>& get_temperature_range() const;
|
||||||
const std::array<float, 2>& get_volumetric_rate_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
|
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||||
Vec3 get_cog_marker_position() const;
|
Vec3 get_cog_marker_position() const;
|
||||||
@ -207,7 +207,7 @@ private:
|
|||||||
ColorRange m_temperature_range;
|
ColorRange m_temperature_range;
|
||||||
ColorRange m_volumetric_rate_range;
|
ColorRange m_volumetric_rate_range;
|
||||||
std::array<ColorRange, Color_Range_Types_Count> m_layer_time_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;
|
std::vector<Color> m_tool_colors;
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user