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