Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
		
							parent
							
								
									7a6b679c05
								
							
						
					
					
						commit
						24604260b8
					
				
							
								
								
									
										185
									
								
								src/SimNDT/gui/runSimulationController.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								src/SimNDT/gui/runSimulationController.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,185 @@ | ||||||
|  | __author__ = 'Miguel Molero' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import os | ||||||
|  | from PySide.QtGui import * | ||||||
|  | 
 | ||||||
|  | from SimNDT.gui.ui_runsimulation import Ui_runSimulationDialog | ||||||
|  | from SimNDT.gui.Warnings import WarningParms | ||||||
|  | import SimNDT.gui.constants as c | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class RunSimulation(QDialog, Ui_runSimulationDialog): | ||||||
|  | 
 | ||||||
|  |     def __init__(self, filename, Simulation, parent=None): | ||||||
|  | 
 | ||||||
|  |         super(RunSimulation, self).__init__(parent) | ||||||
|  |         self.setupUi(self) | ||||||
|  |          | ||||||
|  |         # Previous simulations etup, keep settings | ||||||
|  |          | ||||||
|  |         print(Simulation.lastSimulationSetup) | ||||||
|  | 
 | ||||||
|  |         self.lastSimulationSetup = Simulation.lastSimulationSetup | ||||||
|  | 
 | ||||||
|  |         self.filename = filename | ||||||
|  |         self.basename = None | ||||||
|  |         self.Simulation = Simulation | ||||||
|  | 
 | ||||||
|  |         self.receiverShow = False | ||||||
|  |         self.receiverCheckBox.setVisible(False) | ||||||
|  | 
 | ||||||
|  |         #self.ColormapView = ColorbarWidget() | ||||||
|  | 
 | ||||||
|  |         self.colormapComboBox.addItems(["jet","gray"]) | ||||||
|  |         self.colormapComboBox.setCurrentIndex(0) | ||||||
|  |         self.colormapComboBox.setVisible(False) | ||||||
|  | 
 | ||||||
|  |         self.fieldSelectorComboBox.addItems(["Vx","Vy","[Vx,Vy]","Txx","Txy","Tyy","[Txx:Tyy]","Dx","Dy","[Dx,Dy]","SV"]) | ||||||
|  |         self.fieldSelectorComboBox.setCurrentIndex(0) | ||||||
|  |         self.fieldSelectorComboBox.setVisible(False) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.stepsLabel.setVisible(False) | ||||||
|  | 
 | ||||||
|  |         self.snapshotStepLabel.setVisible(False) | ||||||
|  |         self.snapshotStepSpinBox.setVisible(False) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.visualizacionRangeLabel.setVisible(False) | ||||||
|  |         self.visualizacionRangeSpinBox.setVisible(False) | ||||||
|  | 
 | ||||||
|  |         self.enableSavingFieldsLabel.setVisible(False) | ||||||
|  |         self.enableSavingFieldsCheckBox.setVisible(False) | ||||||
|  |         self.enableSavingSignalsLabel.setVisible(False) | ||||||
|  |         self.enableSavingSignalsCheckBox.setVisible(False) | ||||||
|  |         self.enableSavingNumpyLabel.setVisible(False) | ||||||
|  |         self.enableSavingNumpyCheckBox.setVisible(False) | ||||||
|  |         self.enableSavingVolumeLabel.setVisible(False) | ||||||
|  |         self.enableSavingVolumeCheckBox.setVisible(False) | ||||||
|  |         self.enableSavingImagesLabel.setVisible(False) | ||||||
|  |         self.enableSavingImagesCheckBox.setVisible(False) | ||||||
|  |         self.fieldSelectorLabel.setVisible(False) | ||||||
|  |         self.fieldSelectorComboBox.setVisible(False) | ||||||
|  |         self.signalShapeLabel.setVisible(False) | ||||||
|  |         self.signalPlacementLabel.setVisible(False) | ||||||
|  |         self.signalSizeLabel.setVisible(False) | ||||||
|  |         self.signalShapeLineEdit.setVisible(False) | ||||||
|  |         self.signalPlacementLineEdit.setVisible(False) | ||||||
|  |         self.signalSizeLineEdit.setVisible(False) | ||||||
|  |         self.colormapComboBox.setVisible(True) | ||||||
|  | 
 | ||||||
|  |         #self.colormapLayout.addWidget(self.ColormapView) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.setLayout(self.verticalLayout) | ||||||
|  |         self.layout().setSizeConstraint(QLayout.SetFixedSize) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         self.viewCheckBox.stateChanged.connect(self.visualizacionRangeSpinBox.setVisible) | ||||||
|  |         self.viewCheckBox.stateChanged.connect(self.visualizacionRangeLabel.setVisible) | ||||||
|  |         self.viewCheckBox.stateChanged.connect(self.receiverCheckBox.setVisible) | ||||||
|  |         self.viewCheckBox.stateChanged.connect(self.colormapComboBox.setVisible) | ||||||
|  | 
 | ||||||
|  |         self.viewCheckBox.stateChanged.connect(self.receiveFunction) | ||||||
|  |         self.viewCheckBox.stateChanged.connect(self.updateColor) | ||||||
|  |         #self.colormapComboBox.activated.connect(self.ColormapView.Show) | ||||||
|  |         self.snapshotsPushButton.pressed.connect(self.snapshots) | ||||||
|  |         self.setWindowTitle("Simulation Run Setup") | ||||||
|  | 
 | ||||||
|  |         if self.lastSimulationSetup != None: | ||||||
|  |           self.viewCheckBox.setChecked(self.lastSimulationSetup["isView"]) | ||||||
|  |           self.receiverCheckBox.setChecked(self.lastSimulationSetup["isReceiverPlot"]) | ||||||
|  |           self.receiverShow=self.lastSimulationSetup["isReceiverPlot"] | ||||||
|  |           if self.lastSimulationSetup["isView"]: | ||||||
|  |             self.visualizacionRangeSpinBox.setVisible(True) | ||||||
|  |             self.visualizacionRangeLabel.setVisible(True) | ||||||
|  |             self.receiverCheckBox.setVisible(True) | ||||||
|  |             self.colormapComboBox.setVisible(True) | ||||||
|  |           self.colormapComboBox.setCurrentIndex(self.lastSimulationSetup["color"]) | ||||||
|  |           self.visualizacionRangeSpinBox.setValue(self.lastSimulationSetup["dB"]) | ||||||
|  |           self.fieldSelectorComboBox.setCurrentIndex(self.lastSimulationSetup["field"]) | ||||||
|  |           self.signalShapeLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorShape"])) | ||||||
|  |           self.signalPlacementLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorPlacement"])) | ||||||
|  |           self.signalSizeLineEdit.setText(str(self.lastSimulationSetup["sensorSize"])) | ||||||
|  | 
 | ||||||
|  |     def snapshots(self): | ||||||
|  |         lastPath='' | ||||||
|  |         if self.lastSimulationSetup != None: | ||||||
|  |           lastPath=self.lastSimulationSetup["lastPath"] | ||||||
|  |         fname = self.filename if self.filename is not None else "." | ||||||
|  |         fname, filters =  QFileDialog.getSaveFileName(None, "Set Base Name for Snapshots", lastPath+os.path.splitext(fname)[0]) | ||||||
|  |         self.basename  = os.path.splitext(fname)[0] | ||||||
|  |         if self.lastSimulationSetup != None: | ||||||
|  |           self.lastSimulationSetup["lastPath"] = os.path.dirname(fname) | ||||||
|  |            | ||||||
|  |         if self.basename is not None: | ||||||
|  | 
 | ||||||
|  |             if len(self.basename)!=0: | ||||||
|  |                 self.snapshotStepLabel.setVisible(True) | ||||||
|  |                 self.snapshotStepSpinBox.setVisible(True) | ||||||
|  | 
 | ||||||
|  |                 self.stepsLabel.setVisible(True) | ||||||
|  |                 self.stepsLabel.setText("Simulation Time Steps: %d"%(self.Simulation.TimeSteps)) | ||||||
|  | 
 | ||||||
|  |                 self.visualizacionRangeSpinBox.setVisible(True) | ||||||
|  |                 self.visualizacionRangeLabel.setVisible(True) | ||||||
|  | 
 | ||||||
|  |                 self.enableSavingFieldsLabel.setVisible(True) | ||||||
|  |                 self.enableSavingFieldsCheckBox.setVisible(True) | ||||||
|  |                 self.enableSavingSignalsLabel.setVisible(True) | ||||||
|  |                 self.enableSavingSignalsCheckBox.setVisible(True) | ||||||
|  |                 self.enableSavingNumpyLabel.setVisible(True) | ||||||
|  |                 self.enableSavingNumpyCheckBox.setVisible(True) | ||||||
|  |                 self.enableSavingVolumeLabel.setVisible(True) | ||||||
|  |                 self.enableSavingVolumeCheckBox.setVisible(True) | ||||||
|  |                 self.enableSavingImagesLabel.setVisible(True) | ||||||
|  |                 self.enableSavingImagesCheckBox.setVisible(True) | ||||||
|  |                 self.fieldSelectorLabel.setVisible(True) | ||||||
|  |                 self.fieldSelectorComboBox.setVisible(True) | ||||||
|  |                 self.signalShapeLabel.setVisible(True) | ||||||
|  |                 self.signalPlacementLabel.setVisible(True) | ||||||
|  |                 self.signalSizeLabel.setVisible(True) | ||||||
|  |                 self.signalShapeLineEdit.setVisible(True) | ||||||
|  |                 self.signalPlacementLineEdit.setVisible(True) | ||||||
|  |                 self.signalSizeLineEdit.setVisible(True) | ||||||
|  | 
 | ||||||
|  |                 self.colormapComboBox.setVisible(True) | ||||||
|  |                 self.updateColor() | ||||||
|  |                  | ||||||
|  |                 if self.lastSimulationSetup != None: | ||||||
|  |                   self.enableSavingFieldsCheckBox.setChecked(self.lastSimulationSetup["isEnableFields"]) | ||||||
|  |                   self.enableSavingSignalsCheckBox.setChecked(self.lastSimulationSetup["isEnableSignals"]) | ||||||
|  |                   self.enableSavingNumpyCheckBox.setChecked(self.lastSimulationSetup["isEnableNumPy"]) | ||||||
|  |                   self.enableSavingVolumeCheckBox.setChecked(self.lastSimulationSetup["isEnableVolume"]) | ||||||
|  |                   self.enableSavingImagesCheckBox.setChecked(self.lastSimulationSetup["isEnableImages"]) | ||||||
|  |                   self.snapshotStepSpinBox.setValue(self.lastSimulationSetup["step"]) | ||||||
|  |                   self.visualizacionRangeSpinBox.setValue(self.lastSimulationSetup["dB"]) | ||||||
|  |                   self.fieldSelectorComboBox.setCurrentIndex(self.lastSimulationSetup["field"]) | ||||||
|  |                   self.signalShapeLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorShape"])) | ||||||
|  |                   self.signalPlacementLineEdit.setText(','.join(str(x) for x in self.lastSimulationSetup["sensorPlacement"])) | ||||||
|  |                   self.signalSizeLineEdit.setText(str(self.lastSimulationSetup["sensorSize"])) | ||||||
|  |                    | ||||||
|  | 
 | ||||||
|  |             else: | ||||||
|  |                 self.basename = None | ||||||
|  | 
 | ||||||
|  |         else: | ||||||
|  | 
 | ||||||
|  |             self.basename = None | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def updateColor(self): | ||||||
|  |         self.colormapComboBox.setCurrentIndex(0) | ||||||
|  |         if self.lastSimulationSetup != None: | ||||||
|  |           self.colormapComboBox.setCurrentIndex(self.lastSimulationSetup["color"]) | ||||||
|  |         #self.ColormapView.Show(0) | ||||||
|  |         QApplication.processEvents() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     def receiveFunction(self, value): | ||||||
|  |         self.receiverShow = value | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user