diff --git a/src/Model/Geometry/Reach.py b/src/Model/Geometry/Reach.py index dad47caac0db3bdc792290b87dbb34f8d19b424f..b67ba0a66dd0023fdbab7bf38d8241ee1c83baa3 100644 --- a/src/Model/Geometry/Reach.py +++ b/src/Model/Geometry/Reach.py @@ -247,7 +247,7 @@ class Reach: self._guidelines[k], ) ), - # Get only guide lines if FULL False + # Get only guide lines if FULL is False self._guidelines if full else filter( lambda x: x in self._complete_guidelines, self._guidelines diff --git a/src/View/Geometry/GeometryWindow.py b/src/View/Geometry/GeometryWindow.py index 3a3574c864bef4f90d6a17072774be7e73d82376..57677ccef5bb2b177d536d563feb9baa217725a4 100644 --- a/src/View/Geometry/GeometryWindow.py +++ b/src/View/Geometry/GeometryWindow.py @@ -43,8 +43,8 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.setup_window() self.setup_model() + self.setup_plots() self.setup_connections() - self.setup_plot() self.changed_slider_value() def setup_window(self): @@ -58,7 +58,7 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.tableView.setModel(self._tablemodel) self.tableView.setItemDelegate(qtableview_reach.Delegate()) - def setup_plot(self): + def setup_plots(self): if self._reach.number_profiles != 0: self.graphic_1() self.graphic_2() @@ -86,14 +86,14 @@ class GeometryWindow(QMainWindow, WindowToolKit): .connect(self.select_current_profile) # Update plot when profile data change - self._tablemodel.dataChanged.connect(self.update_graphic_1) - self._tablemodel.dataChanged.connect(self.update_graphic_2) - self.tableView.selectionModel()\ - .selectionChanged\ - .connect(self.update_graphic_1) - self.tableView.selectionModel()\ - .selectionChanged\ - .connect(self.update_graphic_2) + # self._tablemodel.dataChanged.connect(self.update_graphic_1) + # self._tablemodel.dataChanged.connect(self.update_graphic_2) + # self.tableView.selectionModel()\ + # .selectionChanged\ + # .connect(self.update_graphic_1) + # self.tableView.selectionModel()\ + # .selectionChanged\ + # .connect(self.update_graphic_2) def open_file_dialog(self): options = QFileDialog.Options() @@ -249,41 +249,45 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.x_complete = self._reach.get_guidelines_x() self.y_complete = self._reach.get_guidelines_y() - self.line_gl_1 = self.ui.canvas_1.axes.plot( - self.x_complete, - self.y_complete - ) + self.line_gl_1 = [ + self.ui.canvas_1.axes.plot( + x, y, + ) + for x, y in zip(self.x_complete, self.y_complete) + ] + # Current profile self.plot_selected_1, = self.ui.canvas_1.axes.plot( self._reach.profile(0).x(), self._reach.profile(0).y(), lw=1., markersize=3, marker='+', color="b" ) - self.plot_selected_1.set_visible(False) + + # Previous profile self.before_plot_selected_1, = self.ui.canvas_1.axes.plot( self._reach.profile(0).x(), self._reach.profile(0).y(), lw=1., markersize=3, marker='+', color="k", linestyle="--" ) - self.before_plot_selected_1.set_visible(False) + # Next profile self.after_plot_selected_1, = self.ui.canvas_1.axes.plot( self._reach.profile(0).x(), self._reach.profile(0).y(), lw=1., markersize=3, marker='+', color="m", linestyle='--' ) - self.after_plot_selected_1.set_visible(False) self.ui.canvas_1.figure.tight_layout() self.ui.canvas_1.figure.canvas.draw_idle() self.ui.toolbar_1.update() + @timer def graphic_2(self): self.tableView.model().blockSignals(True) @@ -352,6 +356,7 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.ui.canvas_2.figure.canvas.draw_idle() self.ui.toolbar_2.update() + @timer def update_graphic_1(self): self.tableView.model().blockSignals(True) @@ -361,6 +366,9 @@ class GeometryWindow(QMainWindow, WindowToolKit): self._reach.profile(ind).y() ) + self.x_complete = self._reach.get_guidelines_x() + self.y_complete = self._reach.get_guidelines_y() + for i in range(len(self.line_gl_1)): self.line_gl_1[i].set_data( [x[i] for x in self.x_complete], @@ -370,6 +378,7 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.tableView.model().blockSignals(False) self.ui.canvas_1.figure.canvas.draw_idle() + @timer def update_graphic_2(self): self.tableView.model().blockSignals(True) @@ -398,6 +407,7 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.ui.canvas_2.axes.autoscale_view(True, True, True) self.ui.canvas_2.figure.canvas.draw_idle() + @timer def graphic_3(self): self.tableView.model().blockSignals(True) @@ -444,7 +454,7 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.annotation_3 = [] self.complete_gl, self.incomplete_gl = self._reach.compute_guidelines() - line_2d = [[line_2D] for line_2D in self.line_gl_1] + line_2d = [line_2D for line_2D in self.line_gl_1] self.color_complete_gl = self.get_line_gl_colors(line_2d) self.color_incomplete_gl = 2 * ["#000000"] @@ -499,6 +509,7 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.ui.canvas_3.figure.canvas.draw_idle() self.ui.toolbar_3.update() + @timer def update_annotate_3(self, ind: int): self.tableView.model().blockSignals(True) @@ -569,6 +580,7 @@ class GeometryWindow(QMainWindow, WindowToolKit): def get_elevation(self, ind: int): return self._reach.profile(ind).z() + @timer def update_graphic_3(self, ind: int): self.tableView.model().blockSignals(True) diff --git a/src/tools.py b/src/tools.py index 285a49d4a25d6a03d87496229185afc4a4d958aa..b53c6f6f49ae5053f67644163c0c6ce8efd841b9 100644 --- a/src/tools.py +++ b/src/tools.py @@ -34,7 +34,11 @@ def timer(func): def wrapper(*args, **kwargs): start_time = time.perf_counter() - value = func(*args, **kwargs) + value = None + try: + value = func(*args, **kwargs) + except Exception as e: + print(f"{e}") end_time = time.perf_counter() run_time = end_time - start_time