Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2017:02_17

Commit 2017-02-17

parasolid

migration PyQt5/vtk6 du viewer.py (fonctionne toujours en PyQt4/vtk5): j'ai réécrit la connexion des signaux/slots suivant une nouvelle syntaxe qui est rétrocompatible et plus lisible. Il y a donc peu de if(qt4)/else.

Par exemple:

self.connect(self.fileMenu, SIGNAL("aboutToShow()"), self.updateFileMenu)

devient

self.fileMenu.aboutToShow.connect(self.updateFileMenu)

En PyQt5 QString n'existe plus. Il est remplacé par un type str python (j'ai pas encore trop compris toutes les implications). J'ai désactivé la liste des “recent files” en PyQt5.

Autre “probleme”: VTK6.3 ne possède pas un QVTKRenderWindowInteractor.py compatible PyQt5 (alors qu'il peut etre compilé avec Qt5 et python. J'ai donc été le rechercher dans le code source de VTK7.x où la version PyQt4 a été portée. J'ai commité ce fichier dans pki/qt5vtk6.

keygen

Portage Qt5 (il restait un bug dans le CMakeLists.txt. Comme pour le reste keygen peut etre compilé avec Qt4 également.

Portage PyQt5/vtk6 cas tests Metafor

Les modifs concernent apps/biomec, gen4 et geniso. J'ai porté le code en PyQt5/vtk6. J'ai voulu ensuite lancer la batterie sur mon PC linux qui tourne en PyQt5/vtk6 mais j'ai eu des problèmes de stabilité de tetgen. ces problèmes n'ont rien à voir avec PyQt5/vtk6; c'est juste que tetgen est une grosse merde pas stable du tout, qui plante pour un rien et dont 2 versions consécutives génèrent des maillages qui n'ont rien à voir malgré un fichier d'output similaire.

La batterie tourne donc avec PyQt5/vtk6 sauf 2 cas tetgen qui plantent. Pour la suite, j'hésite à:

  • migrer gaston en PyQt5/vtk6 et tenter une batterie qui devrait passer vu que tetgen marche sur gaston.
  • remplacer tetgen par gmsh dans les cas-tests problématiques (ce serait l'idéal mais ca demande un travail plus subtil - il faut comprendre ce que ces tests font)

Interface graphique metafor

Mise à jour correcte des “arbres” (pythonpath et object browser) quand on compile avec Qt5. C'est lié à un bug que j'avais introduit lors de mon commit de portage, ayant supprimé certaines commandes qui semblaient avoir été rendues obsolètes.

boman 2017/02/17 09:23

commit/2017/02_17.txt · Last modified: 2017/02/17 09:57 by boman