1 #ifndef slic3r_GLGizmoFdmSupports_hpp_ 2 #define slic3r_GLGizmoFdmSupports_hpp_ 3 4 #include "GLGizmoPainterBase.hpp" 5 6 namespace Slic3r { 7 8 namespace GUI { 9 10 class GLGizmoFdmSupports : public GLGizmoPainterBase 11 { 12 public: GLGizmoFdmSupports(GLCanvas3D & parent,const std::string & icon_filename,unsigned int sprite_id)13 GLGizmoFdmSupports(GLCanvas3D& parent, const std::string& icon_filename, unsigned int sprite_id) 14 : GLGizmoPainterBase(parent, icon_filename, sprite_id) {} 15 16 void render_painter_gizmo() const override; 17 18 protected: 19 void on_render_input_window(float x, float y, float bottom_limit) override; 20 std::string on_get_name() const override; 21 22 private: 23 bool on_init() override; 24 25 void update_model_object() const override; 26 void update_from_model_object() override; 27 on_opening()28 void on_opening() override {} 29 void on_shutdown() override; 30 PainterGizmoType get_painter_type() const override; 31 32 void select_facets_by_angle(float threshold, bool block); 33 float m_angle_threshold_deg = 45.f; 34 bool m_setting_angle = false; 35 36 // This map holds all translated description texts, so they can be easily referenced during layout calculations 37 // etc. When language changes, GUI is recreated and this class constructed again, so the change takes effect. 38 std::map<std::string, wxString> m_desc; 39 }; 40 41 42 43 } // namespace GUI 44 } // namespace Slic3r 45 46 47 #endif // slic3r_GLGizmoFdmSupports_hpp_ 48