set log verbosity, general crack dialog

This commit is contained in:
Paul RASCLE 2016-02-25 11:27:34 +01:00
parent 27d9294f19
commit 15a305400b
4 changed files with 210 additions and 123 deletions

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging import logging
logging.info('start') #logging.info('start')
import initLog import initLog
import salome import salome
@ -13,7 +13,7 @@ geompy = geomBuilder.New(salome.myStudy)
from salome.smesh import smeshBuilder from salome.smesh import smeshBuilder
smesh = smeshBuilder.New(salome.myStudy) smesh = smeshBuilder.New(salome.myStudy)
logging.debug("initialisation de geompy et smesh OK") # logging.debug("initialisation de geompy et smesh OK")
def geomPublish(level,aShape, aName): def geomPublish(level,aShape, aName):
if initLog.getLogLevel() <= level: if initLog.getLogLevel() <= level:

View File

@ -25,14 +25,6 @@
import sys, traceback import sys, traceback
import math import math
from blocFissure import gmu from blocFissure import gmu
from blocFissure.gmu import initLog
#initLog.setDebug()
initLog.setVerbose()
from blocFissure.gmu import geomsmesh
from blocFissure.gmu.casStandard import casStandard
from blocFissure.ihm.fissureCoude_ihm import fissureCoude_ihm
def fissureCoudeDlg(context): def fissureCoudeDlg(context):
# get context study, studyId, salomeGui # get context study, studyId, salomeGui
@ -363,6 +355,13 @@ def fissureCoudeDlg(context):
return self.NOK return self.NOK
def execute(self): def execute(self):
from blocFissure.gmu import initLog
#initLog.setDebug()
initLog.setVerbose() # don't set the level too early, to be able to modify it
from blocFissure.gmu import geomsmesh
from blocFissure.gmu.casStandard import casStandard
from blocFissure.ihm.fissureCoude_ihm import fissureCoude_ihm
dico = self.creeDico() dico = self.creeDico()
NOK = self.testval(dico) NOK = self.testval(dico)
if not(NOK): if not(NOK):

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>631</width> <width>629</width>
<height>560</height> <height>536</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -16,7 +16,7 @@
<property name="toolTip"> <property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Insertion d'un maillage de fissure dans un maillage hexaédrique sain.&lt;/p&gt;&lt;p&gt;Le maillage sain est fourni sous forme de fichier Med.&lt;/p&gt;&lt;p&gt;La face de fissure est décrite par une géométrie dans un fichier brep.&lt;/p&gt;&lt;p&gt;La ou les arêtes de fond de fissure sont données par leurs index dans la face de fissure.&lt;/p&gt;&lt;p&gt;La procédure identfie des mailles saines à enlever et remailler, construit un maillage régulier rayonnant autour de la ligne de fond de fissure, reconstitue les faces externes en triangles, complète la zone à remailler en tétraèdres.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Insertion d'un maillage de fissure dans un maillage hexaédrique sain.&lt;/p&gt;&lt;p&gt;Le maillage sain est fourni sous forme de fichier Med.&lt;/p&gt;&lt;p&gt;La face de fissure est décrite par une géométrie dans un fichier brep.&lt;/p&gt;&lt;p&gt;La ou les arêtes de fond de fissure sont données par leurs index dans la face de fissure.&lt;/p&gt;&lt;p&gt;La procédure identfie des mailles saines à enlever et remailler, construit un maillage régulier rayonnant autour de la ligne de fond de fissure, reconstitue les faces externes en triangles, complète la zone à remailler en tétraèdres.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="title"> <property name="title">
@ -35,7 +35,7 @@
<item> <item>
<widget class="QLineEdit" name="le_fondfiss"> <widget class="QLineEdit" name="le_fondfiss">
<property name="toolTip"> <property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Index des edges décrivant le fond de fissure, dans la face de fissure.&lt;/p&gt;&lt;p&gt;Sous forme d'une liste Python.&lt;/p&gt;&lt;p&gt;Exemples :&lt;span style=&quot; color:#00ffff;&quot;/&gt;&lt;span style=&quot; font-style:italic; color:#00ffff;&quot;&gt;[5,9]&lt;/span&gt; ou &lt;span style=&quot; font-style:italic; color:#00ffff;&quot;&gt;[3]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;(on peut récupérer ces valeurs à l'aide du dialogue de création de groupes d'edges, dans GEOM)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Index des edges décrivant le fond de fissure, dans la face de fissure.&lt;/p&gt;&lt;p&gt;Sous forme d'une liste Python.&lt;/p&gt;&lt;p&gt;Exemples :&lt;span style=&quot; color:#00ffff;&quot;/&gt;&lt;span style=&quot; font-style:italic; color:#000080;&quot;&gt;[5,9]&lt;/span&gt; ou &lt;span style=&quot; font-style:italic; color:#000080;&quot;&gt;[3]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;(on peut récupérer ces valeurs à l'aide du dialogue de création de groupes d'edges, dans GEOM)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -98,23 +98,23 @@
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QGridLayout" name="gridLayout_10"> <layout class="QHBoxLayout" name="horizontalLayout_12">
<item row="0" column="0"> <item>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QGroupBox" name="groupBox_2">
<property name="title"> <property name="title">
<string>identification zone à remailler</string> <string>identification zone à remailler</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_12"> <layout class="QVBoxLayout" name="verticalLayout">
<item row="0" column="0"> <item>
<layout class="QGridLayout" name="gridLayout_6"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<item row="0" column="0"> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>distance influence</string> <string>distance influence</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QDoubleSpinBox" name="dsb_influence"> <widget class="QDoubleSpinBox" name="dsb_influence">
<property name="toolTip"> <property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;La zone remaillée contiendra toutes les mailles du maillage sain à une distance de la face de fissure inférieure à cette valeur.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;La zone remaillée contiendra toutes les mailles du maillage sain à une distance de la face de fissure inférieure à cette valeur.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@ -126,101 +126,189 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="0" column="1"> <item>
<spacer name="horizontalSpacer_6"> <layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>prémaillage face fissure</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>min</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="dsb_meshBrepMin">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pour faciliter la détermination de la zone à remailler, il faut des points sur la face de fissure, suffisament resserrés, en relation avec la taille des mailles du maillage sain.&lt;/p&gt;&lt;p&gt;Ces points sont obtenus par pré maillage de la face de fissure, en triangles. On donne la taille min et max des triangles.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="maximum">
<double>1000000.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>max</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="dsb_meshBrepMax">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pour faciliter la détermination de la zone à remailler, il faut des points sur la face de fissure, suffisament resserrés, en relation avec la taille des mailles du maillage sain.&lt;/p&gt;&lt;p&gt;Ces points sont obtenus par pré maillage de la face de fissure, en triangles. On donne la taille min et max des triangles.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="maximum">
<double>1000000.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>13</width>
<height>17</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QGroupBox" name="groupBox_7">
<property name="title">
<string>messages</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_10">
<property name="text">
<string>mode</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cb_log">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;L'affichage de messages pendant le calcul peut aider à la mise au point du maillage.&lt;/p&gt;&lt;p&gt;- Le mode &lt;span style=&quot; font-weight:600;&quot;&gt;silencieux&lt;/span&gt; donne très peu d'information,&lt;/p&gt;&lt;p&gt;- Le mode &lt;span style=&quot; font-weight:600;&quot;&gt;verbeux&lt;/span&gt; liste les principales étapes du calcul,&lt;/p&gt;&lt;p&gt;- Le mode &lt;span style=&quot; font-weight:600;&quot;&gt;debug&lt;/span&gt; donne un maximum de détail, et publie des objets intermédiaires dans l'étude.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<item>
<property name="text">
<string>silencieux</string>
</property>
</item>
<item>
<property name="text">
<string>verbeux</string>
</property>
</item>
<item>
<property name="text">
<string>debug</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>18</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>0</width> <width>20</width>
<height>20</height> <height>17</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>prémaillage face fissure</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>min</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="dsb_meshBrepMin">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pour faciliter la détermination de la zone à remailler, il faut des points sur la face de fissure, suffisament resserrés, en relation avec la taille des mailles du maillage sain.&lt;/p&gt;&lt;p&gt;Ces points sont obtenus par pré maillage de la face de fissure, en triangles. On donne la taille min et max des triangles.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="maximum">
<double>1000000.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>max</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="dsb_meshBrepMax">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pour faciliter la détermination de la zone à remailler, il faut des points sur la face de fissure, suffisament resserrés, en relation avec la taille des mailles du maillage sain.&lt;/p&gt;&lt;p&gt;Ces points sont obtenus par pré maillage de la face de fissure, en triangles. On donne la taille min et max des triangles.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="decimals">
<number>5</number>
</property>
<property name="maximum">
<double>1000000.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>34</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout> </layout>
<zorder>groupBox_3</zorder>
<zorder>groupBox_7</zorder>
<zorder>horizontalSpacer_3</zorder>
<zorder>verticalSpacer</zorder>
<zorder>horizontalSpacer_3</zorder>
<zorder>horizontalSpacer_9</zorder>
</widget> </widget>
</item> </item>
<item row="0" column="1" rowspan="2"> <item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>17</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4"> <widget class="QGroupBox" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title"> <property name="title">
<string>maillage zone de fissure</string> <string>maillage zone de fissure</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_9"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item row="0" column="0"> <item>
<widget class="QGroupBox" name="groupBox_5"> <widget class="QGroupBox" name="groupBox_5">
<property name="title"> <property name="title">
<string>pipe rayonnant</string> <string>pipe rayonnant</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7"> <layout class="QHBoxLayout" name="horizontalLayout_10">
<item row="0" column="0"> <item>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
@ -310,7 +398,7 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="0" column="1"> <item>
<spacer name="horizontalSpacer_4"> <spacer name="horizontalSpacer_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -326,20 +414,20 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QGroupBox" name="groupBox_6"> <widget class="QGroupBox" name="groupBox_6">
<property name="title"> <property name="title">
<string>faces externes</string> <string>faces externes</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_8"> <layout class="QHBoxLayout" name="horizontalLayout_11">
<item row="0" column="0"> <item>
<widget class="QLabel" name="label_9"> <widget class="QLabel" name="label_9">
<property name="text"> <property name="text">
<string>aretes face fissure</string> <string>aretes face fissure</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QDoubleSpinBox" name="dsb_areteFaceFissure"> <widget class="QDoubleSpinBox" name="dsb_areteFaceFissure">
<property name="toolTip"> <property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Faces externes de la zone à remailler.&lt;/p&gt;&lt;p&gt;Mailage en triangles : valeur cible des arêtes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Faces externes de la zone à remailler.&lt;/p&gt;&lt;p&gt;Mailage en triangles : valeur cible des arêtes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@ -352,7 +440,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item>
<spacer name="horizontalSpacer_5"> <spacer name="horizontalSpacer_5">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -371,19 +459,6 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>112</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</item> </item>
<item> <item>

View File

@ -25,12 +25,6 @@
import sys, traceback import sys, traceback
import math import math
from blocFissure import gmu from blocFissure import gmu
from blocFissure.gmu import initLog
#initLog.setDebug()
initLog.setVerbose()
from blocFissure.gmu import geomsmesh
from blocFissure.gmu.casStandard import casStandard
def fissureGeneraleDlg(context): def fissureGeneraleDlg(context):
# get context study, studyId, salomeGui # get context study, studyId, salomeGui
@ -52,6 +46,7 @@ def fissureGeneraleDlg(context):
class fissureGeneraleDialog(QtGui.QDialog): class fissureGeneraleDialog(QtGui.QDialog):
def __init__(self): def __init__(self):
print "__init__"
QtGui.QDialog.__init__(self) QtGui.QDialog.__init__(self)
# Set up the user interface from Designer. # Set up the user interface from Designer.
self.ui = Ui_Dialog() self.ui = Ui_Dialog()
@ -195,6 +190,19 @@ def fissureGeneraleDlg(context):
#self.initDefaut() #self.initDefaut()
self.initDialog(self.defaut) self.initDialog(self.defaut)
def setLogVerbosity(self):
from blocFissure.gmu import initLog # le mode de log s'initialise une seule fois
print "setLogVerbosity"
index = self.ui.cb_log.currentIndex()
print index
if index == 0:
initLog.setRelease()
elif index == 1:
initLog.setVerbose()
elif index == 2:
initLog.setDebug()
def sauver(self): def sauver(self):
print "sauver" print "sauver"
fileDiag = QFileDialog(self) fileDiag = QFileDialog(self)
@ -268,11 +276,15 @@ def fissureGeneraleDlg(context):
return self.NOK return self.NOK
def execute(self): def execute(self):
print "execute"
dico = self.creeDico() dico = self.creeDico()
NOK = self.testval(dico) NOK = self.testval(dico)
if not(NOK): if not(NOK):
self.writeDefault(dico) self.writeDefault(dico)
self.ui.lb_calcul.show() self.ui.lb_calcul.show()
self.setLogVerbosity()
from blocFissure.gmu import geomsmesh # après intialisation log dans setLogVerbosity
from blocFissure.gmu.casStandard import casStandard # après intialisation log dans setLogVerbosity
execInstance = casStandard(dico) execInstance = casStandard(dico)
self.NOK = NOK self.NOK = NOK
self.accept() self.accept()
@ -281,6 +293,7 @@ def fissureGeneraleDlg(context):
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
print "main"
window = fissureGeneraleDialog() window = fissureGeneraleDialog()
retry = True retry = True
while(retry): while(retry):