diff options
author | Jean Fabre-Monplaisir <jean-isaac-fm@live.fr> | 2015-02-01 19:06:59 +0100 |
---|---|---|
committer | Jean Fabre-Monplaisir <jean-isaac-fm@live.fr> | 2015-02-01 19:06:59 +0100 |
commit | 93cd8ba7c9ea2ee22bfcb828cd5190c4662a05b0 (patch) | |
tree | 8bdaae15ed9302409756a10faec053db5aea122a /ui.hpp | |
parent | 2cb65f6726bbdecdc57b1544fe11fa6c586783dc (diff) | |
parent | 3b8497a4d6c71ac542a2992a645c00bf99d45390 (diff) | |
download | Robotique-Projet-93cd8ba7c9ea2ee22bfcb828cd5190c4662a05b0.tar.gz Robotique-Projet-93cd8ba7c9ea2ee22bfcb828cd5190c4662a05b0.zip |
Merge branch 'master' of github.com:Alexis211/Robotique
Conflicts:
problem.cpp
Diffstat (limited to 'ui.hpp')
-rw-r--r-- | ui.hpp | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -10,7 +10,6 @@ enum { M_NORMAL, M_INS_OBSTACLE, - M_DEL_OBSTACLE, M_SEL_BEGIN, M_SEL_END }; @@ -19,7 +18,6 @@ enum { S_XY, S_THETA, S_PHI, - S_CENTER, S_RADIUS }; @@ -28,8 +26,8 @@ class UI { hilare_a_param *_param; problem _p; - solution _s; + solver _solver; struct { double x0, y0, zoom; @@ -40,14 +38,22 @@ class UI { // interaction mode int _mode, _sel_step; + hilare_a _sel_pos; + circle _sel_obs; public: UI(hilare_a_param *p); + void handle_normal(const sf::Event &ev); + void handle_ins_obs(const sf::Event &ev); + void handle_sel_pos(const sf::Event &ev); + void render_circle(const circle& c, sf::Color border, sf::Color inside, int linewidth); + void render_pos(const hilare_a &pos, sf::Color c); void render_obstacle(const obstacle &o); - void render_mvt(const hilare_a_mvt &m); + void render_mvt(const hilare_a_mvt &m, sf::Color c); + void render_sol(const solution &s, sf::Color c); void render_problem(); void render_solution(); @@ -55,6 +61,8 @@ class UI { sf::Vector2f to_view(const vec &p); vec from_view(const sf::Vector2f &p); + vec from_view(const sf::Vector2i &p); + vec mouse_coord(); void run(); }; |