Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
		
							parent
							
								
									745f81d924
								
							
						
					
					
						commit
						c8719353a3
					
				
							
								
								
									
										516
									
								
								src/SimNDT/gui/managerDialogsController.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										516
									
								
								src/SimNDT/gui/managerDialogsController.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,516 @@ | ||||||
|  | __author__ = 'Miguel Molero' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import os | ||||||
|  | import copy | ||||||
|  | import subprocess | ||||||
|  | 
 | ||||||
|  | from PySide.QtCore import * | ||||||
|  | from PySide.QtGui import * | ||||||
|  | 
 | ||||||
|  | from SimNDT.gui.newScenarioController import NewScenario | ||||||
|  | from SimNDT.gui.addEllipseController import AddEllipse | ||||||
|  | from SimNDT.gui.addRectangleController import AddRectangle | ||||||
|  | from SimNDT.gui.loadScenarioFromImageController import LoadScenarioFromImage | ||||||
|  | from SimNDT.gui.previewScenarioController import PreviewScenario | ||||||
|  | 
 | ||||||
|  | from SimNDT.gui.materialSetupController import MaterialSetup | ||||||
|  | from SimNDT.gui.boundarySetupController import BoundarySetup | ||||||
|  | from SimNDT.gui.singleLaunchSetupController import SingleLaunchSetup | ||||||
|  | from SimNDT.gui.linearScanController import LinearScanSetup | ||||||
|  | from SimNDT.gui.tomographySetupController import TomographySetup | ||||||
|  | 
 | ||||||
|  | from SimNDT.gui.simulationSetupController import SimulationSetup | ||||||
|  | from SimNDT.gui.checkSimulationController import CheckSimulation | ||||||
|  | from SimNDT.gui.runSimulationController import RunSimulation | ||||||
|  | from SimNDT.gui.engineController import EngineController | ||||||
|  | from SimNDT.gui.generateVideoController import GenerateVideo | ||||||
|  | 
 | ||||||
|  | from SimNDT.gui.twoPhaseModelDryCaseController import TwoPhaseModelDryCaseDialog | ||||||
|  | from SimNDT.gui.threePhaseModelDryCaseController import ThreePhaseModelDryCaseDialog | ||||||
|  | from SimNDT.gui.twoPhaseModelImmersionCaseController import TwoPhaseModelImmersionCaseDialog | ||||||
|  | from SimNDT.gui.threePhaseModelImmersionCaseController import ThreePhaseModelImmersionCaseDialog | ||||||
|  | 
 | ||||||
|  | from SimNDT.core.scenario import Scenario | ||||||
|  | from SimNDT.core.geometryObjects import Ellipse, Circle, Square, Rectangle | ||||||
|  | from SimNDT.core.simPack import SimPack | ||||||
|  | from SimNDT.core.receivers import Receivers | ||||||
|  | 
 | ||||||
|  | from SimNDT.gui.snapshots import SnapShots | ||||||
|  | from SimNDT.gui.Warnings import WarningParms, DoneParms | ||||||
|  | from SimNDT.gui import HelperMethods | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | from SimNDT.core.concreteModel import TwoPhaseModel | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import numpy as np | ||||||
|  | 
 | ||||||
|  | def toIntList(stringList): | ||||||
|  |   splitList = stringList.split(',') | ||||||
|  |   if len(splitList)==1: | ||||||
|  |     if splitList[0]=='': | ||||||
|  |       splitList=[] # empty list | ||||||
|  |   return [int(x) for x in splitList]     | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class ManagerDialogs(object): | ||||||
|  |     lastSimulationSetup = dict( | ||||||
|  |               isView = False, | ||||||
|  |               color = 0, | ||||||
|  |               dB = 60, | ||||||
|  |               step = 100, | ||||||
|  |               field = 3, | ||||||
|  |               isReceiverPlot = False, | ||||||
|  |               isEnableFields = False, | ||||||
|  |               isEnableSignals = False, | ||||||
|  |               isEnableImages = False, | ||||||
|  |               isEnableNumPy = False, | ||||||
|  |               isEnableVolume = False, | ||||||
|  |               sensorShape = [], | ||||||
|  |               sensorPlacement = [], | ||||||
|  |               sensorSize = 0, | ||||||
|  |               lastPath = ''             | ||||||
|  |             ) | ||||||
|  | 
 | ||||||
|  |     def newGeometryModel(self): | ||||||
|  | 
 | ||||||
|  |         dialog = NewScenario() | ||||||
|  | 
 | ||||||
|  |         if self.SimNDT_Scenario is not None: | ||||||
|  |             dialog.widthLineEdit.setText(str(self.SimNDT_Scenario.Width)) | ||||||
|  |             dialog.heightLineEdit.setText(str(self.SimNDT_Scenario.Height)) | ||||||
|  |             dialog.pixelLineEdit.setText(str(self.SimNDT_Scenario.Pixel_mm)) | ||||||
|  |             dialog.labelSpinBox.setValue(int(self.SimNDT_Scenario.Label)) | ||||||
|  | 
 | ||||||
|  |         if dialog.exec_(): | ||||||
|  |             width = dialog.width | ||||||
|  |             height = dialog.height | ||||||
|  |             pixel = dialog.pixel | ||||||
|  |             label = dialog.label | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Scenario = Scenario(width,height,pixel,label) | ||||||
|  |             self.SimNDT_ObjectList = None | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  | 
 | ||||||
|  |             self.dirty = True | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def addEllipse(self): | ||||||
|  |         dlg = AddEllipse() | ||||||
|  |         if dlg.exec_(): | ||||||
|  |             centerX, centerY, major, minor, theta, label = dlg.getParms() | ||||||
|  |             if self.SimNDT_Scenario: | ||||||
|  |                 try: | ||||||
|  |                     self.SimNDT_Scenario.addEllipse(centerX, centerY, major, minor, theta, label) | ||||||
|  |                     if major!=minor: | ||||||
|  |                         obj = Ellipse(centerX, centerY, major, minor, theta, label) | ||||||
|  |                     else: | ||||||
|  |                         obj = Circle(centerX,centerY, major, label) | ||||||
|  | 
 | ||||||
|  |                 except Exception as e: | ||||||
|  |                     msg = WarningParms("Error in the object generation!!!. %s"%e) | ||||||
|  |                     msg.exec_() | ||||||
|  |                     return | ||||||
|  | 
 | ||||||
|  |                 if self.SimNDT_ObjectList is None: | ||||||
|  |                     self.SimNDT_ObjectList = list() | ||||||
|  |                 self.SimNDT_ObjectList.append(obj) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             self.dirty = True | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def addRectangle(self): | ||||||
|  | 
 | ||||||
|  |         dlg = AddRectangle() | ||||||
|  |         if dlg.exec_(): | ||||||
|  |             centerX, centerY, width, height, theta, label = dlg.getParms() | ||||||
|  |             if self.SimNDT_Scenario: | ||||||
|  | 
 | ||||||
|  |                 try: | ||||||
|  |                     self.SimNDT_Scenario.addRectangle(centerX, centerY, width, height, theta, label) | ||||||
|  |                     if width!=height: | ||||||
|  |                         obj = Rectangle(centerX, centerY, width, height, theta, label) | ||||||
|  |                     else: | ||||||
|  |                         obj = Square(centerX,centerY, width, theta, label) | ||||||
|  | 
 | ||||||
|  |                 except Exception as e: | ||||||
|  |                     msg = WarningParms("Error in the object generation!!!") | ||||||
|  |                     msg.exec_() | ||||||
|  |                     return | ||||||
|  | 
 | ||||||
|  |                 if self.SimNDT_ObjectList is None: | ||||||
|  |                     self.SimNDT_ObjectList = list() | ||||||
|  |                 self.SimNDT_ObjectList.append(obj) | ||||||
|  | 
 | ||||||
|  |             self.dirty = True | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def loadImage(self): | ||||||
|  | 
 | ||||||
|  |         dlg = LoadScenarioFromImage(self.filename) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             M,N    = np.shape(dlg.image_labeled) | ||||||
|  |             Pixel = float(dlg.Pixel) | ||||||
|  | 
 | ||||||
|  |             Width  = N/Pixel | ||||||
|  |             Height = M/Pixel | ||||||
|  | 
 | ||||||
|  |             if self.SimNDT_Scenario is None: | ||||||
|  |                 self.SimNDT_Scenario = Scenario() | ||||||
|  |                 self.SimNDT_Scenario.setImage(dlg.image_labeled, Width, Height, Pixel, Label=0) | ||||||
|  |             else: | ||||||
|  |                 self.SimNDT_Scenario.setImage(dlg.image_labeled, Width, Height, Pixel, Label=0) | ||||||
|  | 
 | ||||||
|  |             self.GraphicView.setupZoom(100) | ||||||
|  |             self.statusBarWidget.zoomSpinBox.setValue(100) | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_ObjectList	= None | ||||||
|  |             self.SimNDT_Boundaries  = None | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  | 
 | ||||||
|  |             self.dirty = True | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def previewScenario(self): | ||||||
|  | 
 | ||||||
|  |         dlg = PreviewScenario(self.SimNDT_Scenario, self) | ||||||
|  |         dlg.show() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def rotateScenarioCounterClockwise(self): | ||||||
|  | 
 | ||||||
|  |         self.SimNDT_Scenario.rotate(direction="clockwise") | ||||||
|  |         self.dirty = True | ||||||
|  |         self.SimNDT_Check = False | ||||||
|  |         self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def rotateScenarioClockwise(self): | ||||||
|  |         self.SimNDT_Scenario.rotate(direction="counterclockwise") | ||||||
|  |         self.dirty = True | ||||||
|  |         self.SimNDT_Check = False | ||||||
|  |         self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def materialSetup(self): | ||||||
|  | 
 | ||||||
|  |         dlg = MaterialSetup(self.SimNDT_Materials, filename = self.filename) | ||||||
|  |         if dlg.exec_(): | ||||||
|  |             self.SimNDT_Materials = copy.deepcopy(dlg.SimNDT_Materials) | ||||||
|  |             self.dirty = True | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def boundarySetup(self): | ||||||
|  | 
 | ||||||
|  |         dlg = BoundarySetup(self.SimNDT_Boundaries) | ||||||
|  |         if dlg.exec_(): | ||||||
|  |             self.SimNDT_Boundaries = copy.deepcopy(dlg.Boundaries) | ||||||
|  |             self.SimNDT_Scenario.createBoundaries(self.SimNDT_Boundaries) | ||||||
|  | 
 | ||||||
|  |             self.dirty = True | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def singleLaunchSetup(self): | ||||||
|  | 
 | ||||||
|  |         dlg = SingleLaunchSetup(self.SimNDT_Scenario, self.SimNDT_Source, self.SimNDT_Inspection, self.SimNDT_Transducers, self.SimNDT_Signal) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Source = copy.deepcopy(dlg.Source) | ||||||
|  |             self.SimNDT_Transducers = copy.deepcopy(dlg.Transducers) | ||||||
|  |             self.SimNDT_Inspection = copy.deepcopy(dlg.Inspection) | ||||||
|  |             self.SimNDT_Signal = copy.deepcopy(dlg.Signal) | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.dirty = True | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def linearScanSetup(self): | ||||||
|  |         dlg = LinearScanSetup(self.SimNDT_Scenario, self.SimNDT_Source, self.SimNDT_Inspection, self.SimNDT_Transducers, self.SimNDT_Signal) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Source = copy.deepcopy(dlg.Source) | ||||||
|  |             self.SimNDT_Transducers = copy.deepcopy(dlg.Transducers) | ||||||
|  |             self.SimNDT_Inspection = copy.deepcopy(dlg.Inspection) | ||||||
|  |             self.SimNDT_Signal = copy.deepcopy(dlg.Signal) | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.dirty = True | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def tomographySetup(self): | ||||||
|  |         dlg = TomographySetup(self.SimNDT_Scenario, self.SimNDT_Source, self.SimNDT_Inspection, self.SimNDT_Transducers, self.SimNDT_Signal) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Source = copy.deepcopy(dlg.Source) | ||||||
|  |             self.SimNDT_Transducers = copy.deepcopy(dlg.Transducers) | ||||||
|  |             self.SimNDT_Inspection = copy.deepcopy(dlg.Inspection) | ||||||
|  |             self.SimNDT_Signal = copy.deepcopy(dlg.Signal) | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.dirty = True | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def signalSetup(self): | ||||||
|  |         pass | ||||||
|  | 
 | ||||||
|  |     def simulationSetup(self): | ||||||
|  | 
 | ||||||
|  |         dlg = SimulationSetup(self.SimNDT_Scenario, self.SimNDT_Materials, | ||||||
|  |                               self.SimNDT_Transducers, self.SimNDT_Signal, | ||||||
|  |                               self.SimNDT_Simulation) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Simulation = copy.deepcopy(dlg.Simulation) | ||||||
|  |             self.dirty = True | ||||||
|  |             self.OpenSimFile = False | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def checkSimulation(self): | ||||||
|  | 
 | ||||||
|  |         dlg = CheckSimulation(self.SimNDT_Scenario, self.SimNDT_Materials, self.SimNDT_Boundaries, | ||||||
|  |                               self.SimNDT_Transducers, self.SimNDT_Inspection, self.SimNDT_Signal, self.SimNDT_Simulation) | ||||||
|  | 
 | ||||||
|  |         self.SimNDT_Check = False | ||||||
|  | 
 | ||||||
|  |         if dlg.exec_(): | ||||||
|  |             self.SimNDT_Check = True | ||||||
|  | 
 | ||||||
|  |         self.SimNDT_Scenario = copy.deepcopy(dlg.Scenario) | ||||||
|  |         self.SimNDT_Boundaries = copy.deepcopy(dlg.Boundaries) | ||||||
|  |         self.SimNDT_Inspection = copy.deepcopy(dlg.Inspection) | ||||||
|  |         self.dirty = True | ||||||
|  |         self.OpenSimFile = False | ||||||
|  |         self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def runSimulation(self): | ||||||
|  |         self.SimNDT_Simulation.lastSimulationSetup = self.lastSimulationSetup | ||||||
|  |         dlg = RunSimulation(self.filename, self.SimNDT_Simulation) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             DB = dlg.visualizacionRangeSpinBox.value() | ||||||
|  |             color = dlg.colormapComboBox.currentIndex() | ||||||
|  |             field = dlg.fieldSelectorComboBox.currentIndex() | ||||||
|  |             step = dlg.snapshotStepSpinBox.value() | ||||||
|  |             isView = dlg.viewCheckBox.isChecked() | ||||||
|  |             isReceiverPlot = dlg.receiverCheckBox.isChecked() | ||||||
|  |             isEnableFields = dlg.enableSavingFieldsCheckBox.isChecked() | ||||||
|  |             isEnableSignals = dlg.enableSavingSignalsCheckBox.isChecked() | ||||||
|  |             isEnableImages = dlg.enableSavingImagesCheckBox.isChecked() | ||||||
|  |             isEnableNumPy = dlg.enableSavingNumpyCheckBox.isChecked() | ||||||
|  |             isEnableVolume = dlg.enableSavingVolumeCheckBox.isChecked() | ||||||
|  |             sensorShape = toIntList(dlg.signalShapeLineEdit.text()) | ||||||
|  |             sensorPlacement = toIntList(dlg.signalPlacementLineEdit.text()) | ||||||
|  |             sensorSize = float(dlg.signalSizeLineEdit.text()) | ||||||
|  |             lastPath = self.lastSimulationSetup["lastPath"] | ||||||
|  |             self.lastSimulationSetup = dict( | ||||||
|  |               isView          = dlg.viewCheckBox.isChecked(), | ||||||
|  |               color           = color, | ||||||
|  |               dB              = DB, | ||||||
|  |               step            = step, | ||||||
|  |               field           = field, | ||||||
|  |               isReceiverPlot  = isReceiverPlot, | ||||||
|  |               isEnableFields  = isEnableFields, | ||||||
|  |               isEnableSignals = isEnableSignals, | ||||||
|  |               isEnableImages  = isEnableImages, | ||||||
|  |               isEnableNumPy   = isEnableNumPy, | ||||||
|  |               isEnableVolume  = isEnableVolume, | ||||||
|  |               sensorShape     = sensorShape, | ||||||
|  |               sensorPlacement = sensorPlacement, | ||||||
|  |               sensorSize      = sensorSize, | ||||||
|  |               lastPath        = lastPath            | ||||||
|  |             ) | ||||||
|  |             if isView: | ||||||
|  |                 self.GraphicView.setColormap(color) | ||||||
|  | 
 | ||||||
|  |             if dlg.basename is not None: | ||||||
|  |                 self.SimNDT_SnapShots = SnapShots(True, Step=step, Filename = dlg.basename, dB = DB,  | ||||||
|  |                                                   Color = color, | ||||||
|  |                                                   Field = field,  | ||||||
|  |                                                   enableFields=isEnableFields, | ||||||
|  |                                                   enableSignals=isEnableSignals, | ||||||
|  |                                                   enableImages=isEnableImages, | ||||||
|  |                                                   enableNumPy=isEnableNumPy, | ||||||
|  |                                                   enableVolume=isEnableVolume, | ||||||
|  |                                                   enableView=isView, | ||||||
|  |                                                   sensorShape = sensorShape, | ||||||
|  |                                                   sensorPlacement = sensorPlacement, | ||||||
|  |                                                   sensorSize = sensorSize ) | ||||||
|  |             else: | ||||||
|  |                 self.SimNDT_SnapShots = SnapShots(dB = DB, | ||||||
|  |                                                   enableFields=isEnableFields, | ||||||
|  |                                                   enableSignals=isEnableSignals, | ||||||
|  |                                                   enableImages=isEnableImages, | ||||||
|  |                                                   enableNumPy=isEnableNumPy, | ||||||
|  |                                                   enableVolume=isEnableVolume, | ||||||
|  |                                                   enableView=isView) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             self.runEngine(isView, isReceiverPlot) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def runEngine(self, isView=False, isReceiverPlot=False): | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.dirty = True | ||||||
|  | 
 | ||||||
|  |         self.menuFile.menuAction().setEnabled(False) | ||||||
|  |         self.menuConfiguration.menuAction().setEnabled(False) | ||||||
|  |         self.menuPlotting_Tools.menuAction().setEnabled(False) | ||||||
|  |         self.menuTools.menuAction().setEnabled(False) | ||||||
|  |         HelperMethods.setEnabled(self.fileMenuActions, False) | ||||||
|  |         HelperMethods.setEnabled(self.geometryMenuActions, False) | ||||||
|  |         HelperMethods.setEnabled(self.inspectionMenuActions, False) | ||||||
|  |         HelperMethods.setEnabled(self.simulationMenuActions, False) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.statusBarWidget.startSimulation(self.SimNDT_Simulation.TimeSteps) | ||||||
|  | 
 | ||||||
|  |         if isView: | ||||||
|  |             self.statusBarWidget.viewOn() | ||||||
|  |         else: | ||||||
|  |             self.statusBarWidget.updateGeometryFrame() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         simPack = SimPack(self.SimNDT_Scenario, self.SimNDT_Materials, self.SimNDT_Boundaries, | ||||||
|  |                           self.SimNDT_Inspection, self.SimNDT_Source, self.SimNDT_Transducers, self.SimNDT_Signal, | ||||||
|  |                           self.SimNDT_Simulation) | ||||||
|  | 
 | ||||||
|  |         engine = EngineController(simPack, isView, isReceiverPlot, self.statusBarWidget, self) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         state = engine.run() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.statusBarWidget.endSimulation() | ||||||
|  | 
 | ||||||
|  |         self.PauseSimulation = False | ||||||
|  | 
 | ||||||
|  |         if state == "Stop": | ||||||
|  |             self.StopSimulation = False | ||||||
|  |             self.status.showMessage("Stop by User!!!!!", 15000) | ||||||
|  |             message = WarningParms("Stop by User!!!") | ||||||
|  |             message.exec_() | ||||||
|  |         else: | ||||||
|  |             self.status.showMessage("Done", 15000) | ||||||
|  |             message = DoneParms() | ||||||
|  |             message.exec_() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.menuFile.menuAction().setEnabled(True) | ||||||
|  |         self.menuConfiguration.menuAction().setEnabled(True) | ||||||
|  |         self.menuPlotting_Tools.menuAction().setEnabled(True) | ||||||
|  |         self.menuTools.menuAction().setEnabled(True) | ||||||
|  |         HelperMethods.setEnabled(self.fileMenuActions, True) | ||||||
|  |         HelperMethods.setEnabled(self.geometryMenuActions, True) | ||||||
|  |         HelperMethods.setEnabled(self.inspectionMenuActions, True) | ||||||
|  |         HelperMethods.setEnabled(self.simulationMenuActions, True) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.setPlotInspectionsMenu() | ||||||
|  |         self.SimNDT_Receivers = Receivers(self.SimNDT_Inspection.Name) | ||||||
|  |         self.SimNDT_Receivers.setReceivers(engine) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def generateVideo(self): | ||||||
|  | 
 | ||||||
|  |         dlg = GenerateVideo() | ||||||
|  |         dlg.exec_() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def twoPhaseModelDryCase(self): | ||||||
|  | 
 | ||||||
|  |         dlg = TwoPhaseModelDryCaseDialog(None, self.SimNDT_Scenario, self.SimNDT_ConcreteMicrostructure) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Scenario.I = dlg.image | ||||||
|  |             self.SimNDT_Scenario.resetBoundary() | ||||||
|  |             self.SimNDT_ObjectList = None | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.dirty = True | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_ConcreteMicrostructure = dlg.concrete2PhaseObject | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def threePhaseModelDryCase(self): | ||||||
|  | 
 | ||||||
|  |         dlg = ThreePhaseModelDryCaseDialog(None, self.SimNDT_Scenario, self.SimNDT_ConcreteMicrostructure) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Scenario.I = dlg.image | ||||||
|  |             self.SimNDT_Scenario.resetBoundary() | ||||||
|  |             self.SimNDT_ObjectList = None | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.dirty = True | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_ConcreteMicrostructure = dlg.concrete3PhaseObject | ||||||
|  | 
 | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def twoPhaseModelImmersionCase(self): | ||||||
|  | 
 | ||||||
|  |         dlg = TwoPhaseModelImmersionCaseDialog(None, self.SimNDT_Scenario, self.SimNDT_ConcreteMicrostructure) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Scenario.I = dlg.image | ||||||
|  |             self.SimNDT_Scenario.resetBoundary() | ||||||
|  |             self.SimNDT_ObjectList = None | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.dirty = True | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_ConcreteMicrostructure = dlg.concrete2PhaseObjectImmersion | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def threePhaseModelImmersionCase(self): | ||||||
|  | 
 | ||||||
|  |         dlg = ThreePhaseModelImmersionCaseDialog(None, self.SimNDT_Scenario, self.SimNDT_ConcreteMicrostructure) | ||||||
|  |         if dlg.exec_(): | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_Scenario.I = dlg.image | ||||||
|  |             self.SimNDT_Scenario.resetBoundary() | ||||||
|  |             self.SimNDT_ObjectList = None | ||||||
|  |             self.SimNDT_Check = False | ||||||
|  |             self.dirty = True | ||||||
|  | 
 | ||||||
|  |             self.SimNDT_ConcreteMicrostructure = dlg.concrete3PhaseObjectImmersion | ||||||
|  | 
 | ||||||
|  |             self.updateUI() | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user