BambuStudio/slic3r/GUI/Gizmos/GLGizmoFaceDetector.hpp

41 lines
1.1 KiB
C++

#ifndef slic3r_GLGizmoFaceDetector_hpp_
#define slic3r_GLGizmoFaceDetector_hpp_
#include "GLGizmoBase.hpp"
#include "slic3r/GUI/3DScene.hpp"
namespace Slic3r {
namespace GUI {
class GLGizmoFaceDetector : public GLGizmoBase
{
public:
GLGizmoFaceDetector(GLCanvas3D& parent, const std::string& icon_filename, unsigned int sprite_id)
: GLGizmoBase(parent, icon_filename, sprite_id) {}
protected:
void on_render() override;
void on_render_for_picking() override {}
void on_render_input_window(float x, float y, float bottom_limit) override;
std::string on_get_name() const override;
std::string on_get_name_str() override { return "Face recognition"; }
void on_set_state() override;
bool on_is_activable() const override;
CommonGizmosDataID on_get_requirements() const override;
private:
bool on_init() override;
void perform_recognition(const Selection& selection);
void display_exterior_face();
GLIndexedVertexArray m_iva;
double m_sample_interval = {0.5};
};
} // namespace GUI
} // namespace Slic3r
#endif // slic3r_GLGizmoFaceDetector_hpp_