mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-14 19:45:54 +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.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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
|
@ -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
|
||||
//
|
@ -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
|
@ -11,7 +11,7 @@
|
||||
#if !ENABLE_NEW_GCODE_VIEWER_NO_COG_AND_TOOL_MARKERS
|
||||
//################################################################################################################################
|
||||
|
||||
#include "Types.hpp"
|
||||
#include "..\include\Types.hpp"
|
||||
|
||||
namespace libvgcode {
|
||||
|
@ -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;
|
||||
}
|
@ -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
|
||||
|
||||
//################################################################################################################################
|
@ -10,7 +10,7 @@
|
||||
#if ENABLE_NEW_GCODE_VIEWER
|
||||
//################################################################################################################################
|
||||
|
||||
#include "Types.hpp"
|
||||
#include "../include/Types.hpp"
|
||||
|
||||
#include <map>
|
||||
|
@ -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!!!
|
@ -9,7 +9,7 @@
|
||||
///|/
|
||||
#include "Layers.hpp"
|
||||
|
||||
#include "PathVertex.hpp"
|
||||
#include "../include/PathVertex.hpp"
|
||||
|
||||
//################################################################################################################################
|
||||
// PrusaSlicer development only -> !!!TO BE REMOVED!!!
|
@ -10,7 +10,7 @@
|
||||
#if ENABLE_NEW_GCODE_VIEWER
|
||||
//################################################################################################################################
|
||||
|
||||
#include "Types.hpp"
|
||||
#include "../include/Types.hpp"
|
||||
#include "Range.hpp"
|
||||
|
||||
namespace libvgcode {
|
@ -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!!!
|
@ -10,7 +10,7 @@
|
||||
#if ENABLE_NEW_GCODE_VIEWER
|
||||
//################################################################################################################################
|
||||
|
||||
#include "Types.hpp"
|
||||
#include "../include/Types.hpp"
|
||||
|
||||
#include <map>
|
||||
|
@ -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 };
|
@ -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!!!
|
@ -10,9 +10,7 @@
|
||||
#if ENABLE_NEW_GCODE_VIEWER
|
||||
//################################################################################################################################
|
||||
|
||||
#include "Types.hpp"
|
||||
|
||||
#include <vector>
|
||||
#include "../include/Types.hpp"
|
||||
|
||||
namespace libvgcode {
|
||||
|
@ -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
|
||||
|
@ -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();
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user