Tech ENABLE_RAYCAST_PICKING - Raytraced picking of Gizmo Flatten

(cherry picked from commit prusa3d/PrusaSlicer@f5e68a6ac6)
This commit is contained in:
enricoturri1966 2023-10-29 00:16:54 +08:00 committed by Noisyfox
parent ab090bf20d
commit 1e7a91e2d5
3 changed files with 44 additions and 13 deletions

View file

@ -3,6 +3,7 @@
#include "GLGizmoBase.hpp"
#include "slic3r/GUI/GLModel.hpp"
#include "slic3r/GUI/MeshUtils.hpp"
namespace Slic3r {
@ -22,9 +23,10 @@ private:
struct PlaneData {
std::vector<Vec3d> vertices; // should be in fact local in update_planes()
GLModel vbo;
PickingModel vbo;
Vec3d normal;
float area;
PickingId picking_id{ -1 };
};
// This holds information to decide whether recalculation is necessary:
@ -54,6 +56,8 @@ protected:
virtual bool on_is_activable() const override;
virtual void on_start_dragging() override;
virtual void on_render() override;
virtual void on_register_raycasters_for_picking() override;
virtual void on_unregister_raycasters_for_picking() override;
virtual void on_set_state() override;
virtual CommonGizmosDataID on_get_requirements() const override;
};