Horizon
Loading...
Searching...
No Matches
place_model_box.hpp
1#pragma once
2#include <gtkmm.h>
3#include "pool/package.hpp"
4#include "util/xyz_container.hpp"
5#include <glm/glm.hpp>
6
7namespace horizon {
8
9
10class PlaceModelBox : public Gtk::Box {
11public:
12 PlaceModelBox(class ImpPackage &aimp);
13 void handle_pick(const glm::dvec3 &p);
14 void init(const Package::Model &model);
15
16private:
17 ImpPackage &imp;
18 Gtk::Button *pick1_button;
19 Gtk::Button *pick2_button;
20 Gtk::Button *pick_cancel_button;
21 Gtk::Label *pick_state_label;
22 Gtk::Button *reset_button;
23 Gtk::Button *move_button;
24
25 std::array<int64_t, 3> shift_init;
26
28
31
32 enum class PickState { IDLE, PICK_1, PICK_2_1, PICK_2_2 };
33 PickState pick_state = PickState::IDLE;
34 void update_pick_state();
35 void start_pick(PickState which);
36 void do_move();
37 void reset();
38};
39
40} // namespace horizon
Definition imp_package.hpp:15
Definition package.hpp:44
Definition place_model_box.hpp:10
Definition xyz_container.hpp:5