diff --git a/src/Model/Geometry/Profile.py b/src/Model/Geometry/Profile.py index 477e6ef55ce20665086ffc8be0b6d754503b1bf2..2da9457178c5e87f0ef228a45bf62df1c1a0b35a 100644 --- a/src/Model/Geometry/Profile.py +++ b/src/Model/Geometry/Profile.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- class Profile(object): - def __init__(self, kp:float = 0.0, name:str = "", + def __init__(self, num: int = 0, + kp:float = 0.0, name:str = "", code1: int = 0, code2: int = 0, _type:str = ""): super(Profile, self).__init__() diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py index d9d102ed694bf88f73d2008de95ac9e2a70a0dc5..5da9a645dbd956fcb22423366606f7c006d40c65 100644 --- a/src/Model/Geometry/ProfileXYZ.py +++ b/src/Model/Geometry/ProfileXYZ.py @@ -10,6 +10,7 @@ from Model.Geometry.PointXYZ import PointXYZ class ProfileXYZ(Profile): def __init__(self, num: int = 0, code1: int = 0, code2: int = 0, + nb_point: int = 0, kp: float = 0., name: str = ""): """ProfileXYZ constructor @@ -33,7 +34,7 @@ class ProfileXYZ(Profile): def __repr__(self): df = pd.DataFrame(columns=["X", "Y", "Z", "Name"], - data=[[p.x, p.y, p.z, p.name] for p in self._list_points]) + data=[[p.x, p.y, p.z, p.name] for p in self._points]) return f"\nProfileXYZ : {self.name}\n{df}" @property @@ -58,7 +59,7 @@ class ProfileXYZ(Profile): """ for point in list_points: pt = PointXYZ(*point) - self._list_points.append(pt) + self._points.append(pt) def get_point_i(self, index: int) -> PointXYZ: """Get point at index. @@ -70,7 +71,7 @@ class ProfileXYZ(Profile): The point. """ try: - return self._list_points[index] + return self._points[index] except IndexError: raise IndexError(f"Invalid point index: {index}") @@ -81,7 +82,7 @@ class ProfileXYZ(Profile): Nothing. """ point_xyz = PointXYZ(0., 0., 0.) - self._list_points.append(point_xyz) + self._points.append(point_xyz) def delete(self, index: int): """Delete the point at index @@ -93,7 +94,7 @@ class ProfileXYZ(Profile): Nothing. """ try: - self._list_points.pop(index) + self._points.pop(index) except IndexError: raise IndexError(f"Invalid point index: {index}") @@ -107,7 +108,7 @@ class ProfileXYZ(Profile): Nothing. """ profile = ProfileXYZ() - self._list_points.insert(index, profile) + self._points.insert(index, profile) def delete1(self, list_index: list): """Delete a list of points @@ -124,12 +125,12 @@ class ProfileXYZ(Profile): for idx in indices: # if idx < len(self._list_profiles) : try: - self._list_points.pop(idx) + self._points.pop(idx) except IndexError: print("Empty list, nothing to delete") except TypeError: if isinstance(list_index, int): - self._list_points.pop(list_index) + self._points.pop(list_index) print(f"\n{list_index} is not a list\n") else: raise TypeError( @@ -148,16 +149,16 @@ class ProfileXYZ(Profile): return [x for x in lst if not np.isnan(x)] def x(self): - return [point.x for point in self._list_points] + return [point.x for point in self._points] def y(self): - return [point.y for point in self._list_points] + return [point.y for point in self._points] def z(self): - return [point.z for point in self._list_points] + return [point.z for point in self._points] def names(self): - return [point.name for point in self._list_points] + return [point.name for point in self._points] def x_max(self): return max(self.filter_isnan(self.x)) diff --git a/src/Model/Geometry/Reach.py b/src/Model/Geometry/Reach.py index 6e2f0d397e1ac8a551dc1355b591b33be6789a18..5177d0418eb0743913d23ab3398e2aa6b6f60114 100644 --- a/src/Model/Geometry/Reach.py +++ b/src/Model/Geometry/Reach.py @@ -302,6 +302,9 @@ class Reach: Returns: Nothing. """ + list_profile = [] + list_header = [] + try: list_profile, list_header = self.read_file_st(str(file_path_name)) @@ -311,6 +314,7 @@ class Reach: prof.import_points(profile) self._profiles.append(prof) self._update_profile_numbers() + except FileNotFoundError as e: print(e) exception_message_box(e) @@ -367,8 +371,8 @@ class Reach: else: pass - if list_profile and list_header: - raise FileFormatError(filename, f"{list_profile}, {list_header}") + # if list_profile and list_header: + # raise FileFormatError(filename, f"{list_profile}, {list_header}") print("****** Fichier {} lu et traité en {} secondes *******".format(filename, time() - t0)) return list_profile, list_header diff --git a/src/View/Geometry/GeometryWindow.py b/src/View/Geometry/GeometryWindow.py index a28e1f84314580c53a3546355672bdf1bb592a55..3e428591c946ca68c31be547cf09c60209edb2fa 100644 --- a/src/View/Geometry/GeometryWindow.py +++ b/src/View/Geometry/GeometryWindow.py @@ -237,31 +237,28 @@ class GeometryWindow(QMainWindow, WindowToolKit): _translate("MainWindow_reach", "Y (m)"), color='green', fontsize=12 ) - self.get_x = self._reach.get_x() - self.get_y = self._reach.get_y() self.line_xy = [ - self.ui.canvas_1.axes.plot(x, y, color='r', lw=1., markersize=3, marker='+') - for x, y in zip(self.get_x, self.get_y) + self.ui.canvas_1.axes.plot(x, y, color='r', lw=1., + markersize=3, marker='+') + for x, y in zip(self._reach.get_x(), self._reach.get_y()) ] - self.get_x_complete_list_ld = self._reach.get_x_complete_list_ld() - self.get_y_complete_list_ld = self._reach.get_y_complete_list_ld() self.line_ld_1 = self.ui.canvas_1.axes.plot( - self.get_x_complete_list_ld, - self.get_y_complete_list_ld + self._reach.get_guidelines_x(), + self._reach.get_guidelines_y() ) self.plot_selected_1, = self.ui.canvas_1.axes.plot( - self._reach.get_x_profile_i(0), - self._reach.get_y_profile_i(0), + self._reach.get_profile_i(0).x(), + self._reach.get_profile_i(0).y(), lw=1., markersize=3, marker='+', color="b" ) self.plot_selected_1.set_visible(False) self.before_plot_selected_1, = self.ui.canvas_1.axes.plot( - self._reach.get_x_profile_i(0), - self._reach.get_y_profile_i(0), + self._reach.get_profile_i(0).x(), + self._reach.get_profile_i(0).y(), lw=1., markersize=3, marker='+', color="k", linestyle="--" ) @@ -269,8 +266,8 @@ class GeometryWindow(QMainWindow, WindowToolKit): self.before_plot_selected_1.set_visible(False) self.after_plot_selected_1, = self.ui.canvas_1.axes.plot( - self._reach.get_x_profile_i(0), - self._reach.get_y_profile_i(0), + self._reach.get_profile_i(0).x(), + self._reach.get_profile_i(0).y(), lw=1., markersize=3, marker='+', color="m", linestyle='--' )