diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
index bf023a3cc2..b41f896a22 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp
@@ -195,15 +195,18 @@ bool GLGizmoSVG::create_volume(ModelVolumeType volume_type)
return start_create_volume_without_position(input, std::move(base));
}
-bool GLGizmoSVG::create_volume(std::string_view svg_file, ModelVolumeType volume_type, const Vec2d &mouse_pos)
+bool GLGizmoSVG::create_volume(std::string_view svg_file, ModelVolumeType volume_type){
+ CreateVolumeParams input = create_input(m_parent, m_raycast_manager, volume_type);
+ DataBasePtr base = create_emboss_data_base(m_job_cancel, volume_type, svg_file);
+ if (!base) return false; // Uninterpretable svg
+ return start_create_volume_without_position(input, std::move(base));
+}
+
+bool GLGizmoSVG::create_volume(std::string_view svg_file, const Vec2d &mouse_pos, ModelVolumeType volume_type)
{
CreateVolumeParams input = create_input(m_parent, m_raycast_manager, volume_type);
DataBasePtr base = create_emboss_data_base(m_job_cancel, volume_type, svg_file);
if (!base) return false; // Uninterpretable svg
- // is not a number || is infinity
- if (mouse_pos.x() != mouse_pos.x() ||
- mouse_pos.y() != mouse_pos.y())
- return start_create_volume_without_position(input, std::move(base));
return start_create_volume(input, std::move(base), mouse_pos);
}
diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSVG.hpp b/src/slic3r/GUI/Gizmos/GLGizmoSVG.hpp
index 426f4ee703..94115f5ff9 100644
--- a/src/slic3r/GUI/Gizmos/GLGizmoSVG.hpp
+++ b/src/slic3r/GUI/Gizmos/GLGizmoSVG.hpp
@@ -39,7 +39,7 @@ struct Texture{
class GLGizmoSVG : public GLGizmoBase
{
public:
- GLGizmoSVG(GLCanvas3D &parent);
+ explicit GLGizmoSVG(GLCanvas3D &parent);
///
/// Create new embossed text volume by type on position of mouse
@@ -60,10 +60,11 @@ public:
/// Create volume from already selected svg file
///
/// File path
- /// Object part / Negative volume / Modifier
/// Position on screen where to create volume
+ /// Object part / Negative volume / Modifier
/// True on succesfull start creation otherwise False
- bool create_volume(std::string_view svg_file, ModelVolumeType volume_type = ModelVolumeType::MODEL_PART, const Vec2d &mouse_pos = Vec2d(std::nan, std::nan));
+ bool create_volume(std::string_view svg_file, const Vec2d &mouse_pos, ModelVolumeType volume_type = ModelVolumeType::MODEL_PART);
+ bool create_volume(std::string_view svg_file, ModelVolumeType volume_type = ModelVolumeType::MODEL_PART);
///
/// Check whether volume is object containing only emboss volume
diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp
index a51b39e98d..3d1806c36e 100644
--- a/src/slic3r/GUI/Plater.cpp
+++ b/src/slic3r/GUI/Plater.cpp
@@ -1656,7 +1656,7 @@ bool emboss_svg(Plater& plater, const wxString &svg_file, const Vec2d& mouse_dro
evt.SetPosition(wxPoint(mouse_drop_position.x(), mouse_drop_position.y()));
canvas->on_mouse(evt); // call render where is call GLCanvas3D::_picking_pass()
- return svg->create_volume(svg_file_str, ModelVolumeType::MODEL_PART, mouse_drop_position);
+ return svg->create_volume(svg_file_str, mouse_drop_position, ModelVolumeType::MODEL_PART);
}
}