From 64d2b2678a0336e9c70e02fd5f4d9877976d5867 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Fri, 22 May 2026 10:39:10 +0200 Subject: [PATCH] Geometry: Profiles: Fix shift methode. --- src/Model/Geometry/PointXYZ.py | 7 +++++++ src/Model/Geometry/ProfileXYZ.py | 10 ++-------- src/Model/Tools/PamhyrDB.py | 2 ++ src/View/Geometry/Table.py | 4 ---- src/View/Geometry/UndoCommand.py | 4 ++-- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/Model/Geometry/PointXYZ.py b/src/Model/Geometry/PointXYZ.py index 3215d009..4c28a07a 100644 --- a/src/Model/Geometry/PointXYZ.py +++ b/src/Model/Geometry/PointXYZ.py @@ -338,6 +338,13 @@ class PointXYZ(Point): self._z = float(value) self.modified() + def shift(self, x, y, z): + self.x += x + self.y += y + self.z += z + + self.modified() + def get_coordinate(self): return (self._x, self._y, self._z) diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py index 1b821051..d928fdd1 100644 --- a/src/Model/Geometry/ProfileXYZ.py +++ b/src/Model/Geometry/ProfileXYZ.py @@ -24,7 +24,7 @@ from typing import List from functools import reduce from dataclasses import dataclass -from tools import timer, flatten +from tools import trace, timer, flatten from shapely import geometry from Model.Tools.PamhyrDB import SQLSubModel @@ -1073,16 +1073,10 @@ class ProfileXYZ(Profile, SQLSubModel): def shift(self, x, y, z): for p in self._points: - p.x = p.x + x - p.y = p.y + y - p.z = p.z + z + p.shift(x, y, z) self.modified() - def modified(self): - self.tab_up_to_date = False - self.station_up_to_date = False - def add_npoints(self, npoints): # add npoints in a profile for k in range(npoints): diff --git a/src/Model/Tools/PamhyrDB.py b/src/Model/Tools/PamhyrDB.py index 00ca8c40..3ee72f0c 100644 --- a/src/Model/Tools/PamhyrDB.py +++ b/src/Model/Tools/PamhyrDB.py @@ -26,6 +26,8 @@ from functools import reduce from SQL import SQL from Model.Except import NotImplementedMethodeError +from tools import trace + from Model.Tools.PamhyrID import PamhyrID logger = logging.getLogger() diff --git a/src/View/Geometry/Table.py b/src/View/Geometry/Table.py index 0c2f5552..d51d1f22 100644 --- a/src/View/Geometry/Table.py +++ b/src/View/Geometry/Table.py @@ -251,7 +251,6 @@ class GeometryReachTableModel(PamhyrTableModel): self.layoutChanged.emit() def meshing(self, mesher, data, tableView): - new_profiles = mesher.meshing( self._data, **data @@ -287,7 +286,6 @@ class GeometryReachTableModel(PamhyrTableModel): self.layoutChanged.emit() def purge(self, np_purge): - self._undo.push( PurgeCommand( self._data, np_purge @@ -296,7 +294,6 @@ class GeometryReachTableModel(PamhyrTableModel): self.layoutChanged.emit() def shift(self, rows, dx, dy, dz): - self._undo.push( ShiftCommand( self._data, rows, dx, dy, dz @@ -305,7 +302,6 @@ class GeometryReachTableModel(PamhyrTableModel): self.layoutChanged.emit() def change_reach(self, new_reach, parent): - self._undo.push( ChangeReachCommand( new_reach, diff --git a/src/View/Geometry/UndoCommand.py b/src/View/Geometry/UndoCommand.py index 3a5da35b..5414f358 100644 --- a/src/View/Geometry/UndoCommand.py +++ b/src/View/Geometry/UndoCommand.py @@ -411,13 +411,13 @@ class ShiftCommand(QUndoCommand): def undo(self): for i in self._rows: profile = self._reach.profiles[i] - self._reach.profiles[i].shift( + profile.shift( -self._dx, -self._dy, -self._dz ) def redo(self): for i in self._rows: profile = self._reach.profiles[i] - self._reach.profiles[i].shift( + profile.shift( self._dx, self._dy, self._dz )