Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
		
							parent
							
								
									d29b2d3563
								
							
						
					
					
						commit
						fd3aa23aca
					
				
							
								
								
									
										136
									
								
								src/SimNDT/gui/checkSimulationController.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								src/SimNDT/gui/checkSimulationController.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,136 @@ | |||
| __author__ = 'Miguel Molero' | ||||
| 
 | ||||
| import os, sys | ||||
| import numpy as np | ||||
| from PySide.QtCore import * | ||||
| from PySide.QtGui import * | ||||
| 
 | ||||
| from SimNDT.gui.ui_checksimulation import Ui_checkSimulationDialog | ||||
| from SimNDT.gui.Warnings import WarningParms | ||||
| import SimNDT.gui.constants as c | ||||
| 
 | ||||
| 
 | ||||
| import SimNDT.core.checkSimulation as CheckSim | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| class CheckSimulation(QDialog, Ui_checkSimulationDialog): | ||||
| 
 | ||||
| 	def __init__(self, Scenario, Materials, Boundaries, Transducers, Inspection, Signal, Simulation, parent = None): | ||||
| 		super(CheckSimulation, self).__init__(parent) | ||||
| 		self.setupUi(self) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		self.closePushButton.pressed.connect(self.close) | ||||
| 
 | ||||
| 		self.treeWidget.clear() | ||||
| 		self.dispatcher = ['Scenario', 'Materials','Boundary','Inspection Method', 'Simulation Setup'] | ||||
| 
 | ||||
| 		self.treeWidget.setColumnCount(2) | ||||
| 		self.treeWidget.setHeaderLabels(["Setup","Comments"]) | ||||
| 		self.treeWidget.setAlternatingRowColors(True) | ||||
| 		self.treeWidget.header().resizeSection(0, 220) | ||||
| 
 | ||||
| 
 | ||||
| 		self.Boundaries = Boundaries | ||||
| 		self.Scenario   = Scenario | ||||
| 		self.Inspection = Inspection | ||||
| 
 | ||||
| 		self.passAll = False | ||||
| 
 | ||||
| 		scenario_tree = QTreeWidgetItem(self.treeWidget) | ||||
| 		scenario_tree.setText(0,"Scenario") | ||||
| 		scenario_tree.setIcon(0,QIcon(":/mark.png")) | ||||
| 
 | ||||
| 
 | ||||
| 		material_tree = QTreeWidgetItem(self.treeWidget) | ||||
| 		material_tree.setText(0,"Material") | ||||
| 		material_tree.setIcon(0,QIcon(":/mark.png")) | ||||
| 
 | ||||
| 
 | ||||
| 		self.message1 = None | ||||
| 		self.message2 = None | ||||
| 		self.message3 = None | ||||
| 		self.message4 = None | ||||
| 		self.message5 = None | ||||
| 
 | ||||
| 		case = CheckSim.labels(Scenario, Materials) | ||||
| 
 | ||||
| 		if case == 1: | ||||
| 			self.message1 =  "Number of labels in scenario is higher than the number of the defined materials. " | ||||
| 
 | ||||
| 		#elif case == 2: | ||||
| 		#	self.message1 =  "Number of labels in scenario is lower than the number of the defined materials. " | ||||
| 
 | ||||
| 
 | ||||
| 		case = CheckSim.materials(Materials) | ||||
| 		if case == 1: | ||||
| 			self.message2 = "Repeated labels in Materials!!!. " | ||||
| 
 | ||||
| 		case =  CheckSim.isLabelsEquals(Scenario, Materials) | ||||
| 		if case == 1: | ||||
| 			self.message3 =  "Scenario Labels do not coincide with Material Labels!!!. " | ||||
| 
 | ||||
| 
 | ||||
| 		message = "" | ||||
| 		if self.message1 is not None: | ||||
| 			message +=self.message1 | ||||
| 			material_tree.setIcon(0,QIcon(":/cross.png")) | ||||
| 
 | ||||
| 		if self.message2 is not None: | ||||
| 			message += self.message2 | ||||
| 			material_tree.setIcon(0,QIcon(":/cross.png")) | ||||
| 
 | ||||
| 		if self.message3 is not None: | ||||
| 			message += self.message3 | ||||
| 			material_tree.setIcon(0,QIcon(":/cross.png")) | ||||
| 
 | ||||
| 		material_tree.setText(1,message) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		Scenario, Boundaries, isChange = CheckSim.boundariesReLoad(Scenario, Materials,Boundaries, Transducers[0], Inspection, Simulation) | ||||
| 
 | ||||
| 
 | ||||
| 		if isChange: | ||||
| 			self.Boundaries = Boundaries | ||||
| 			self.Scenario = Scenario | ||||
| 			self.message4 = "Found error, but fixed: All boundaries with Air Layers" | ||||
| 
 | ||||
| 
 | ||||
| 		boundary_tree = QTreeWidgetItem(self.treeWidget) | ||||
| 		boundary_tree.setText(0,"Boundaries Conditions") | ||||
| 		boundary_tree.setIcon(0,QIcon(":/mark.png")) | ||||
| 
 | ||||
| 		if self.message4 is not None: | ||||
| 			boundary_tree.setText(1,self.message4) | ||||
| 
 | ||||
| 		self.Inspection.setInspection(Scenario, Transducers[0], Simulation) | ||||
| 
 | ||||
| 
 | ||||
| 		signal_tree = QTreeWidgetItem(self.treeWidget) | ||||
| 		signal_tree.setText(0,"Signal Setup") | ||||
| 		signal_tree.setIcon(0,QIcon(":/mark.png")) | ||||
| 
 | ||||
| 		t = Simulation.t | ||||
| 		try: | ||||
| 			source = Signal.generate(t) | ||||
| 		except Exception as e: | ||||
| 			self.message5 = "Signal does not fit in the Simulation Time, Increase the Simulation Time to solve this issue" | ||||
| 			signal_tree.setText(1,self.message5) | ||||
| 			signal_tree.setIcon(0,QIcon(":/cross.png")) | ||||
| 
 | ||||
| 		if self.message1 is  None and self.message2 is None \ | ||||
| 				and self.message3 is None and self.message4 is None\ | ||||
| 				and self.message5 is None: | ||||
| 			self.passAll = True | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	def close(self): | ||||
| 
 | ||||
| 		if self.passAll: | ||||
| 			QDialog.accept(self) | ||||
| 		else: | ||||
| 			QDialog.reject(self) | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user