tools, geometry: Minor change.

mesh
Pierre-Antoine Rouby 2023-04-18 16:31:32 +02:00
parent 1fb42a73fa
commit 4e5bf178dc
3 changed files with 36 additions and 20 deletions

View File

@ -247,7 +247,7 @@ class Reach:
self._guidelines[k], self._guidelines[k],
) )
), ),
# Get only guide lines if FULL False # Get only guide lines if FULL is False
self._guidelines if full else filter( self._guidelines if full else filter(
lambda x: x in self._complete_guidelines, lambda x: x in self._complete_guidelines,
self._guidelines self._guidelines

View File

@ -43,8 +43,8 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.setup_window() self.setup_window()
self.setup_model() self.setup_model()
self.setup_plots()
self.setup_connections() self.setup_connections()
self.setup_plot()
self.changed_slider_value() self.changed_slider_value()
def setup_window(self): def setup_window(self):
@ -58,7 +58,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.tableView.setModel(self._tablemodel) self.tableView.setModel(self._tablemodel)
self.tableView.setItemDelegate(qtableview_reach.Delegate()) self.tableView.setItemDelegate(qtableview_reach.Delegate())
def setup_plot(self): def setup_plots(self):
if self._reach.number_profiles != 0: if self._reach.number_profiles != 0:
self.graphic_1() self.graphic_1()
self.graphic_2() self.graphic_2()
@ -86,14 +86,14 @@ class GeometryWindow(QMainWindow, WindowToolKit):
.connect(self.select_current_profile) .connect(self.select_current_profile)
# Update plot when profile data change # Update plot when profile data change
self._tablemodel.dataChanged.connect(self.update_graphic_1) # self._tablemodel.dataChanged.connect(self.update_graphic_1)
self._tablemodel.dataChanged.connect(self.update_graphic_2) # self._tablemodel.dataChanged.connect(self.update_graphic_2)
self.tableView.selectionModel()\ # self.tableView.selectionModel()\
.selectionChanged\ # .selectionChanged\
.connect(self.update_graphic_1) # .connect(self.update_graphic_1)
self.tableView.selectionModel()\ # self.tableView.selectionModel()\
.selectionChanged\ # .selectionChanged\
.connect(self.update_graphic_2) # .connect(self.update_graphic_2)
def open_file_dialog(self): def open_file_dialog(self):
options = QFileDialog.Options() options = QFileDialog.Options()
@ -249,41 +249,45 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.x_complete = self._reach.get_guidelines_x() self.x_complete = self._reach.get_guidelines_x()
self.y_complete = self._reach.get_guidelines_y() self.y_complete = self._reach.get_guidelines_y()
self.line_gl_1 = self.ui.canvas_1.axes.plot( self.line_gl_1 = [
self.x_complete, self.ui.canvas_1.axes.plot(
self.y_complete 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.plot_selected_1, = self.ui.canvas_1.axes.plot(
self._reach.profile(0).x(), self._reach.profile(0).x(),
self._reach.profile(0).y(), self._reach.profile(0).y(),
lw=1., markersize=3, lw=1., markersize=3,
marker='+', color="b" marker='+', color="b"
) )
self.plot_selected_1.set_visible(False) self.plot_selected_1.set_visible(False)
# Previous profile
self.before_plot_selected_1, = self.ui.canvas_1.axes.plot( self.before_plot_selected_1, = self.ui.canvas_1.axes.plot(
self._reach.profile(0).x(), self._reach.profile(0).x(),
self._reach.profile(0).y(), self._reach.profile(0).y(),
lw=1., markersize=3, lw=1., markersize=3,
marker='+', color="k", linestyle="--" marker='+', color="k", linestyle="--"
) )
self.before_plot_selected_1.set_visible(False) self.before_plot_selected_1.set_visible(False)
# Next profile
self.after_plot_selected_1, = self.ui.canvas_1.axes.plot( self.after_plot_selected_1, = self.ui.canvas_1.axes.plot(
self._reach.profile(0).x(), self._reach.profile(0).x(),
self._reach.profile(0).y(), self._reach.profile(0).y(),
lw=1., markersize=3, lw=1., markersize=3,
marker='+', color="m", linestyle='--' marker='+', color="m", linestyle='--'
) )
self.after_plot_selected_1.set_visible(False) self.after_plot_selected_1.set_visible(False)
self.ui.canvas_1.figure.tight_layout() self.ui.canvas_1.figure.tight_layout()
self.ui.canvas_1.figure.canvas.draw_idle() self.ui.canvas_1.figure.canvas.draw_idle()
self.ui.toolbar_1.update() self.ui.toolbar_1.update()
@timer
def graphic_2(self): def graphic_2(self):
self.tableView.model().blockSignals(True) self.tableView.model().blockSignals(True)
@ -352,6 +356,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.ui.canvas_2.figure.canvas.draw_idle() self.ui.canvas_2.figure.canvas.draw_idle()
self.ui.toolbar_2.update() self.ui.toolbar_2.update()
@timer
def update_graphic_1(self): def update_graphic_1(self):
self.tableView.model().blockSignals(True) self.tableView.model().blockSignals(True)
@ -361,6 +366,9 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self._reach.profile(ind).y() 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)): for i in range(len(self.line_gl_1)):
self.line_gl_1[i].set_data( self.line_gl_1[i].set_data(
[x[i] for x in self.x_complete], [x[i] for x in self.x_complete],
@ -370,6 +378,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.tableView.model().blockSignals(False) self.tableView.model().blockSignals(False)
self.ui.canvas_1.figure.canvas.draw_idle() self.ui.canvas_1.figure.canvas.draw_idle()
@timer
def update_graphic_2(self): def update_graphic_2(self):
self.tableView.model().blockSignals(True) 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.axes.autoscale_view(True, True, True)
self.ui.canvas_2.figure.canvas.draw_idle() self.ui.canvas_2.figure.canvas.draw_idle()
@timer
def graphic_3(self): def graphic_3(self):
self.tableView.model().blockSignals(True) self.tableView.model().blockSignals(True)
@ -444,7 +454,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.annotation_3 = [] self.annotation_3 = []
self.complete_gl, self.incomplete_gl = self._reach.compute_guidelines() 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_complete_gl = self.get_line_gl_colors(line_2d)
self.color_incomplete_gl = 2 * ["#000000"] self.color_incomplete_gl = 2 * ["#000000"]
@ -499,6 +509,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
self.ui.canvas_3.figure.canvas.draw_idle() self.ui.canvas_3.figure.canvas.draw_idle()
self.ui.toolbar_3.update() self.ui.toolbar_3.update()
@timer
def update_annotate_3(self, ind: int): def update_annotate_3(self, ind: int):
self.tableView.model().blockSignals(True) self.tableView.model().blockSignals(True)
@ -569,6 +580,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
def get_elevation(self, ind: int): def get_elevation(self, ind: int):
return self._reach.profile(ind).z() return self._reach.profile(ind).z()
@timer
def update_graphic_3(self, ind: int): def update_graphic_3(self, ind: int):
self.tableView.model().blockSignals(True) self.tableView.model().blockSignals(True)

View File

@ -34,7 +34,11 @@ def timer(func):
def wrapper(*args, **kwargs): def wrapper(*args, **kwargs):
start_time = time.perf_counter() start_time = time.perf_counter()
value = None
try:
value = func(*args, **kwargs) value = func(*args, **kwargs)
except Exception as e:
print(f"{e}")
end_time = time.perf_counter() end_time = time.perf_counter()
run_time = end_time - start_time run_time = end_time - start_time