diff --git a/src/slic3r/GUI/AppConfig.hpp b/src/slic3r/GUI/AppConfig.hpp index 346d42b21..1e90d32e0 100644 --- a/src/slic3r/GUI/AppConfig.hpp +++ b/src/slic3r/GUI/AppConfig.hpp @@ -60,7 +60,7 @@ public: boost::trim_all(key_trimmed); assert(key_trimmed == key); assert(! key_trimmed.empty()); -#endif _NDEBUG +#endif // _NDEBUG std::string &old = m_storage[section][key]; if (old != value) { old = value; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp b/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp index 965f195a9..8a2b71976 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp @@ -33,6 +33,7 @@ class ImGuiWrapper; class GLCanvas3D; class ClippingPlane; enum class CommonGizmosDataID; +class CommonGizmosDataPool; class GLGizmoBase { @@ -102,6 +103,7 @@ protected: ImGuiWrapper* m_imgui; bool m_first_input_window_render; mutable std::string m_tooltip; + CommonGizmosDataPool* m_c; public: GLGizmoBase(GLCanvas3D& parent, @@ -130,6 +132,7 @@ public: bool is_activable() const { return on_is_activable(); } bool is_selectable() const { return on_is_selectable(); } CommonGizmosDataID get_requirements() const { return on_get_requirements(); } + void set_common_data_pool(CommonGizmosDataPool* ptr) { m_c = ptr; } unsigned int get_sprite_id() const { return m_sprite_id; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp index 89a671519..bcc562d8b 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp @@ -14,11 +14,11 @@ CommonGizmosDataPool::CommonGizmosDataPool(GLCanvas3D* canvas) using namespace CommonGizmosDataObjects; using c = CommonGizmosDataID; m_data[c::SelectionInfo].reset( new SelectionInfo(this)); - m_data[c::InstancesHider].reset( new InstancesHider(this)); - m_data[c::HollowedMesh].reset( new HollowedMesh(this)); - m_data[c::ClippingPlaneWrapper].reset(new ClippingPlaneWrapper(this)); - m_data[c::SupportsClipper].reset( new SupportsClipper(this)); - m_data[c::MeshRaycaster].reset( new Raycaster(this)); + //m_data[c::InstancesHider].reset( new InstancesHider(this)); + //m_data[c::HollowedMesh].reset( new HollowedMesh(this)); + //m_data[c::ClippingPlaneWrapper].reset(new ClippingPlaneWrapper(this)); + //m_data[c::SupportsClipper].reset( new SupportsClipper(this)); + //m_data[c::MeshRaycaster].reset( new Raycaster(this)); } void CommonGizmosDataPool::update(CommonGizmosDataID required) diff --git a/src/slic3r/GUI/Gizmos/GLGizmosCommon.hpp b/src/slic3r/GUI/Gizmos/GLGizmosCommon.hpp index 6d83179cb..259de5013 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosCommon.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosCommon.hpp @@ -111,7 +111,7 @@ private: int m_active_inst = -1; }; - +/* class InstancesHider : public CommonGizmosDataBase { public: @@ -175,7 +175,7 @@ public: : CommonGizmosDataBase(cgdp) {} void update(bool required) override; }; - +*/ } // namespace CommonGizmosDataObjects diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index b6cd4858c..9600b3d64 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -102,11 +102,14 @@ bool GLGizmosManager::init() //dynamic_cast(m_gizmos[Hollow].get())->set_common_data_ptr(m_common_gizmos_data.get()); //dynamic_cast(m_gizmos[SlaSupports].get())->set_common_data_ptr(m_common_gizmos_data.get()); + m_common_gizmos_data.reset(new CommonGizmosDataPool(&m_parent)); + for (auto& gizmo : m_gizmos) { if (! gizmo->init()) { m_gizmos.clear(); return false; } + gizmo->set_common_data_pool(m_common_gizmos_data.get()); } m_current = Undefined; @@ -1335,5 +1338,6 @@ void CommonGizmosData::build_AABB_if_needed() m_schedule_aabb_calculation = false; } + } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp index 7ae1fa661..f01ecfd77 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp @@ -5,6 +5,7 @@ #include "slic3r/GUI/GLToolbar.hpp" #include "libslic3r/ObjectID.hpp" #include "slic3r/GUI/Gizmos/GLGizmoBase.hpp" +#include "slic3r/GUI/Gizmos/GLGizmosCommon.hpp" #include @@ -20,6 +21,7 @@ class GLCanvas3D; class ClippingPlane; enum class SLAGizmoEventType : unsigned char; class CommonGizmosData; +class CommonGizmosDataPool; class Rect { @@ -115,7 +117,8 @@ private: MouseCapture m_mouse_capture; std::string m_tooltip; bool m_serializing; - std::unique_ptr m_common_gizmos_data; + //std::unique_ptr m_common_gizmos_data; + std::unique_ptr m_common_gizmos_data; public: explicit GLGizmosManager(GLCanvas3D& parent);