Geometry: Profiles: Fix shift methode.

disable_edition_parent_scenario
Pierre-Antoine 2026-05-22 10:39:10 +02:00
parent 3a3b5ea2dd
commit 64d2b2678a
5 changed files with 13 additions and 14 deletions

View File

@ -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)

View File

@ -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):

View File

@ -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()

View File

@ -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,

View File

@ -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
)