diff --git a/Objet/__pycache__/gestion_clavier.cpython-311.pyc b/Objet/__pycache__/gestion_clavier.cpython-311.pyc index a7b1fb79db747ef6d69c155959cc35292b00e1e8..124c2c9480caed225c6d0dfdae008f8d71ba09c3 100644 Binary files a/Objet/__pycache__/gestion_clavier.cpython-311.pyc and b/Objet/__pycache__/gestion_clavier.cpython-311.pyc differ diff --git a/Objet/__pycache__/parameters.cpython-311.pyc b/Objet/__pycache__/parameters.cpython-311.pyc index acab8178303e761a8a40957bd8f6b40be6dad88c..19264a5c389d48d0c0d2bad8fb832f43da817c38 100644 Binary files a/Objet/__pycache__/parameters.cpython-311.pyc and b/Objet/__pycache__/parameters.cpython-311.pyc differ diff --git a/Objet/__pycache__/ui.cpython-311.pyc b/Objet/__pycache__/ui.cpython-311.pyc index b9a5bb884e9fee8e9c8148bd909b072fd6dd16f3..0c531f6e5aff67b0bd8815cfaeca7a7868e32057 100644 Binary files a/Objet/__pycache__/ui.cpython-311.pyc and b/Objet/__pycache__/ui.cpython-311.pyc differ diff --git a/Objet/gestion_clavier.py b/Objet/gestion_clavier.py index 8f6c608ac4dfafe46a47961039867d61c5f29e6d..84baf098bfe6fe06bcd58ad6784585a44f1566c6 100644 --- a/Objet/gestion_clavier.py +++ b/Objet/gestion_clavier.py @@ -24,6 +24,7 @@ def update(key, vid_mana, session, ui, prev_mode, mode): if key == 13: ui.change_setting_mode() + return prev_mode, mode diff --git a/Objet/main.py b/Objet/main.py index 9f731bcc30ba1ad7a7febd6acad4ba585a0432cf..95bada3bda58a81d8fad9b45f169eb729de7f8e9 100644 --- a/Objet/main.py +++ b/Objet/main.py @@ -58,7 +58,6 @@ class Main: self.display.load_traj(self.traj) self.session.next_video() - self.display.draw_shape() self.display.draw_traj() if self.mode == "parameters": @@ -66,6 +65,7 @@ class Main: self.display.frame = (self.display.frame * darken_factor).astype(np.uint8) if self.ui.is_mouse_moving(): + self.display.draw_shape() self.display.draw_all_points() cv2.imshow('main', self.display.frame) diff --git a/Objet/ui.py b/Objet/ui.py index ff4b5d63441bb31dbbe1be9a02ae5fa36c156f80..6d14687bdcf7593791e61f0033363b5b9776e327 100644 --- a/Objet/ui.py +++ b/Objet/ui.py @@ -33,7 +33,7 @@ class UI: self.point_pp = copy.copy(self.point_defaut) - self.linked = False + self.setting_locked = False def update_bar(self): @@ -43,6 +43,8 @@ class UI: def move_parameters(self): cv2.setMouseCallback('main', self.mouse_event) self.update_bar() + if self.setting_locked: + self.update_linked() if self.dragging and self.point_near: self.actu_para() else : @@ -88,9 +90,9 @@ class UI: self.point_pp = copy.copy(self.point_defaut) def change_setting_mode(self): - if not self.linked: + if not self.setting_locked: self.update_user_info() - self.linked = not self.linked + self.setting_locked = not self.setting_locked def update_user_info(self): def get_point(name): @@ -172,7 +174,7 @@ class UI: point = self.point_pp name = point.name - if not self.linked: + if not self.setting_locked: if name == "net": update_ref("ant_tl") update_ref("ant_bl") @@ -182,14 +184,14 @@ class UI: if name == "ant_bl": valid_to_right("ant_br") - update_ref("ant_tl") - update() + update_ref_x("ant_tl") + update_x() update_center("net", "ant_bl", "ant_br") if name == "ant_br": valid_to_left("ant_bl") - update_ref("ant_tr") - update() + update_ref_x("ant_tr") + update_x() update_center("net", "ant_bl", "ant_br") if name == "ant_tl": @@ -300,46 +302,68 @@ class UI: valid_to_right("bar_point_right") update_x() else: - net = get_point("net") - ant_height = net.y - get_point("ant_tl").y if name == "ant_tl": valid_to_down("ant_bl") valid_to_right("ant_tr") - update_y() + update() + get_point("ant_bl").x = get_point("ant_tl").x get_point("ant_tr").y = get_point("ant_tl").y - get_point("set_height").y = net.y - self.set_height * ant_height - get_point("set_margin_over").y = net.y - self.set_margin_over * ant_height - get_point("set_margin_under").y = net.y - self.set_margin_under * ant_height - get_point("wind_l_tl").y = net.y - self.wind_l_t * ant_height - get_point("wind_l_bl").y = net.y - self.wind_l_b * ant_height - get_point("wind_l_tr").y = net.y - self.wind_l_t * ant_height - get_point("wind_l_br").y = net.y - self.wind_l_b * ant_height - update_center("wind_l_m", "wind_l_tl", "wind_l_br") - get_point("wind_r_tl").y = net.y - self.wind_r_t * ant_height - get_point("wind_r_bl").y = net.y - self.wind_r_b * ant_height - get_point("wind_r_tr").y = net.y - self.wind_r_t * ant_height - get_point("wind_r_br").y = net.y - self.wind_r_b * ant_height - update_center("wind_r_m", "wind_r_tl", "wind_r_br") - if name == "ant_tr": valid_to_down("ant_br") valid_to_left("ant_tl") - update_y() + update() + get_point("ant_br").x = get_point("ant_tr").x get_point("ant_tl").y = get_point("ant_tr").y - get_point("set_height").y = net.y - self.set_height * ant_height - get_point("set_margin_over").y = net.y - self.set_margin_over * ant_height - get_point("set_margin_under").y = net.y - self.set_margin_under * ant_height - get_point("wind_l_tl").y = net.y - self.wind_l_t * ant_height - get_point("wind_l_bl").y = net.y - self.wind_l_b * ant_height - get_point("wind_l_tr").y = net.y - self.wind_l_t * ant_height - get_point("wind_l_br").y = net.y - self.wind_l_b * ant_height - update_center("wind_l_m", "wind_l_tl", "wind_l_br") - get_point("wind_r_tl").y = net.y - self.wind_r_t * ant_height - get_point("wind_r_bl").y = net.y - self.wind_r_b * ant_height - get_point("wind_r_tr").y = net.y - self.wind_r_t * ant_height - get_point("wind_r_br").y = net.y - self.wind_r_b * ant_height - update_center("wind_r_m", "wind_r_tl", "wind_r_br") + if name == "ant_bl": + valid_to_up("ant_tl") + valid_to_right("ant_br") + update() + get_point("ant_tl").x = get_point("ant_bl").x + get_point("ant_br").y = get_point("ant_bl").y + if name == "ant_br": + valid_to_up("ant_tr") + valid_to_left("ant_bl") + update() + get_point("ant_tr").x = get_point("ant_br").x + get_point("ant_bl").y = get_point("ant_br").y + def update_linked(self): + def get_point(name): + return self.param.get_point(name) + def update_center(name1, name2, name3): + get_point(name1).x = self.param.get_center_x(name2, name3) + get_point(name1).y = self.param.get_center_y(name2, name3) + + net = get_point("net") + ant_height = net.y - get_point("ant_tl").y + ant_witdh = get_point("ant_tr").x - get_point("ant_tl").x + + get_point("set_height").y = net.y - self.set_height * ant_height + get_point("set_margin_over").y = net.y - self.set_margin_over * ant_height + get_point("set_margin_under").y = net.y - self.set_margin_under * ant_height + get_point("wind_l_tl").y = net.y - self.wind_l_t * ant_height + get_point("wind_l_bl").y = net.y - self.wind_l_b * ant_height + get_point("wind_l_tr").y = net.y - self.wind_l_t * ant_height + get_point("wind_l_br").y = net.y - self.wind_l_b * ant_height + + get_point("wind_r_tl").y = net.y - self.wind_r_t * ant_height + get_point("wind_r_bl").y = net.y - self.wind_r_b * ant_height + get_point("wind_r_tr").y = net.y - self.wind_r_t * ant_height + get_point("wind_r_br").y = net.y - self.wind_r_b * ant_height + + get_point("wind_l_tl").x = get_point("ant_tl").x + self.wind_l_l * ant_witdh + get_point("wind_l_bl").x = get_point("ant_tl").x + self.wind_l_l * ant_witdh + get_point("wind_l_tr").x = get_point("ant_tl").x + self.wind_l_r * ant_witdh + get_point("wind_l_br").x = get_point("ant_tl").x + self.wind_l_r * ant_witdh + get_point("wind_r_tl").x = get_point("ant_tr").x - self.wind_r_l * ant_witdh + get_point("wind_r_bl").x = get_point("ant_tr").x - self.wind_r_l * ant_witdh + get_point("wind_r_tr").x = get_point("ant_tr").x - self.wind_r_r * ant_witdh + get_point("wind_r_br").x = get_point("ant_tr").x - self.wind_r_r * ant_witdh + + update_center("wind_l_m", "wind_l_tl", "wind_l_br") + update_center("wind_r_m", "wind_r_tl", "wind_r_br") + update_center("net", "ant_bl", "ant_br") + if __name__ == "__main__": subprocess.run(["python", "Objet/Main.py"]) \ No newline at end of file