Salome HOME
update of messages
[modules/smesh.git] / src / Tools / Verima / Base / tableMailles.py
1 from PyQt4 import QtSql, QtCore
2 from tableDeBase import TableDeBase
3
4 class TableMailles (TableDeBase):
5       def __init__(self):
6          TableDeBase.__init__(self,"Mailles")
7          # self.setField(('Maillage','Version','Machine','Node','N0D','Edge','Quad_Edge','Triangle','Quad_Triangle','BiQuad_Triangle','Quadrangle','Quad_Quadrangle','BiQuad_Quadrangle','Polygon','Quad_Polygon','Tetra','Quad_Tetra','Pyramid','Quad_Pyramid','Hexa','Quad_Hexa','TriQuad_Hexa','Penta','Quad_Penta','Hexagonal_Prism','Polyhedra','Quad_Polyhedra',))
8          # self.setTypeField(('int','int','str','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int','int'),('idMaillage','idVersion','Machine'))
9          self.setField(('Maillage','Version','Machine','Entite','NbEntite'))
10          self.setTypeField(('int','int','str','str','int'),('idMaillage','idVersion','Machine','Entite'))
11
12
13       def createSqlTable(self):
14           query=QtSql.QSqlQuery()
15
16           #texteQuery ="create table Mailles(idMaillage int, idVersion int,Machine var(10),  Node int, "
17           #texteQuery+="N0D int, Edge int, Quad_Edge int, Triangle int, Quad_Triangle int, BiQuad_Triangle int,"
18           #texteQuery+="Quadrangle int, Quad_Quadrangle int,  BiQuad_Quadrangle int,  Polygon int,"
19           #texteQuery+="Quad_Polygon int, Tetra int, Quad_Tetra int, Pyramid int, Quad_Pyramid int,"
20           #texteQuery+="Hexa int, Quad_Hexa int, TriQuad_Hexa int, Penta int, Quad_Penta int,"
21           #texteQuery+="Hexagonal_Prism int, Polyhedra int, Quad_Polyhedra int, "
22
23           texteQuery ="create table Mailles(idMaillage int, idVersion int, Machine var(40), Entite var(40), NbEntite int, "
24           texteQuery+="foreign key (idMaillage) references Maillages(id)," 
25           texteQuery+="foreign key (idVersion) references Versions(id)," 
26           texteQuery+="foreign key (Machine) references Machines(nomMachine)," 
27           texteQuery+="primary key (idMaillage,idVersion,Machine,Entite));"
28
29           print "Creation de TableMailles : " , query.exec_(texteQuery)
30
31  
32       def getVal(self,idMaillage, idVersion, Machine, Entite):
33             query=QtSql.QSqlQuery()
34             texteQuery ='select NbEntite from Mailles where idMaillage='+str(idMaillage) 
35             texteQuery+=' and  idVersion='+str(idVersion) 
36             texteQuery+=" and Machine='" + str(Machine) +"'" 
37             texteQuery+=" and Entite='" + str(Entite)  +"';"
38             query.exec_(texteQuery)
39             nb=0
40             val=0                          # Valeur si l enregistrement n existe pas
41             while (query.next()) :
42                val=query.value(0).toInt()[0]
43                nb=nb+1
44             if nb > 1 : print "Double valeur de Reference dans la table des mailles"
45             return val
46
47
48       def getAllEntity(self):
49             query=QtSql.QSqlQuery()
50             texteQuery ="select distinct Entite from Mailles;"
51             query.exec_(texteQuery)
52             maListe=[]
53             while (query.next()) :
54                 maListe.append(str(query.value(0).toString()))
55             return maListe