GUI: remove deep copy of raster grid due to recursive copy error
This commit is contained in:
@@ -310,13 +310,45 @@ class RasterGridManager(QObject):
|
||||
|
||||
@Slot()
|
||||
def run_grid_scan(self):
|
||||
grid = copy.deepcopy(self.__active_grid)
|
||||
ag = self.__active_grid
|
||||
grid = RasterGridRequest(
|
||||
dtz=ag.dtz,
|
||||
transmission=ag.transmission,
|
||||
file_prefix=ag.file_prefix,
|
||||
exp_time_s=ag.exp_time_s,
|
||||
n_x=ag.n_x,
|
||||
n_y=ag.n_y,
|
||||
grid_size_mm=Coordinate(x=ag.grid_size_mm.x, y=ag.grid_size_mm.y),
|
||||
smargon=SmargonCoordinate(
|
||||
sh_mm=Coordinate(x=ag.smargon.sh_mm.x, y=ag.smargon.sh_mm.y, z=ag.smargon.sh_mm.z),
|
||||
phi_deg=ag.smargon.phi_deg,
|
||||
chi_deg=ag.smargon.chi_deg,
|
||||
),
|
||||
omega_deg=ag.omega_deg,
|
||||
visible=ag.visible,
|
||||
)
|
||||
self.grid_scan.emit(grid)
|
||||
self.viewer_track_online.emit()
|
||||
|
||||
@Slot()
|
||||
def run_grid_scan_auto(self):
|
||||
grid = copy.deepcopy(self.__active_grid)
|
||||
ag = self.__active_grid
|
||||
grid = RasterGridRequest(
|
||||
dtz=ag.dtz,
|
||||
transmission=ag.transmission,
|
||||
file_prefix=ag.file_prefix,
|
||||
exp_time_s=ag.exp_time_s,
|
||||
n_x=ag.n_x,
|
||||
n_y=ag.n_y,
|
||||
grid_size_mm=Coordinate(x=ag.grid_size_mm.x, y=ag.grid_size_mm.y),
|
||||
smargon=SmargonCoordinate(
|
||||
sh_mm=Coordinate(x=ag.smargon.sh_mm.x, y=ag.smargon.sh_mm.y, z=ag.smargon.sh_mm.z),
|
||||
phi_deg=ag.smargon.phi_deg,
|
||||
chi_deg=ag.smargon.chi_deg,
|
||||
),
|
||||
omega_deg=ag.omega_deg,
|
||||
visible=ag.visible,
|
||||
)
|
||||
self.grid_scan_auto.emit(grid)
|
||||
self.viewer_track_online.emit()
|
||||
|
||||
@@ -449,12 +481,16 @@ class RasterGridManager(QObject):
|
||||
@Slot(int)
|
||||
def completed_grid_redo(self, row: int):
|
||||
if 0 <= row < len(self.__completed_grids):
|
||||
copy_of_active_grid = copy.deepcopy(self.__completed_grids[row].request)
|
||||
self.__active_grid.n_x = copy_of_active_grid.n_x
|
||||
self.__active_grid.n_y = copy_of_active_grid.n_y
|
||||
self.__active_grid.grid_size_mm = copy_of_active_grid.grid_size_mm
|
||||
self.__active_grid.smargon = copy_of_active_grid.smargon
|
||||
self.__active_grid.omega_deg = copy_of_active_grid.omega_deg
|
||||
src = self.__completed_grids[row].request
|
||||
self.__active_grid.n_x = src.n_x
|
||||
self.__active_grid.n_y = src.n_y
|
||||
self.__active_grid.grid_size_mm = Coordinate(x=src.grid_size_mm.x, y=src.grid_size_mm.y)
|
||||
self.__active_grid.smargon = SmargonCoordinate(
|
||||
sh_mm=Coordinate(x=src.smargon.sh_mm.x, y=src.smargon.sh_mm.y, z=src.smargon.sh_mm.z),
|
||||
phi_deg=src.smargon.phi_deg,
|
||||
chi_deg=src.smargon.chi_deg,
|
||||
)
|
||||
self.__active_grid.omega_deg = src.omega_deg
|
||||
|
||||
self.__active_grid.visible = True
|
||||
self.__completed_grids[row].request.visible = False
|
||||
|
||||
Reference in New Issue
Block a user