Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:futur:robo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
commit:futur:robo [2017/09/06 13:57] bomancommit:futur:robo [2019/07/10 14:43] (current) boman
Line 1: Line 1:
 ====== Commit ====== ====== Commit ======
  
-===== Portabilité =====+===== VizWin/BWin Linux =====
  
-Le code ne compilait plus sous macOS et sous Windows-x86 (MinGW). Ces deux types de compilation ne sont pas testées dans la procédure de batterie et il faut donc régulièrement corriger les sources d'incompatibilité.+Lorsqu'on utilise Metafor sous Linux, on se rend compte que le développement a été effectué sous Windows. Les widgets de 'BWin', par exemple, ont été dimensionnés (en dursuivant la largeur de la police de caractère de Windows. On se retrouve alors avec des widgets "trop étroits" sous Ubuntu qui utilise une police plus large.
  
-Sous macOS, le problème venait des nouveaux templates de Gaetan permettant d'effectuer une intégration (''AdaptiveClenshawCurtisIntegratorTemplate'' et classes associées)Il y avait plusieurs problèmes dans ces fichiers liés à l'instanciation explicite de certaines instances. J'ai mid le code sous la forme de celui qui compile sans problème mais malgré ça, j'ai dû définir certaines fonctions "inline" pour que clang les retrouve. Je n'ai pas tout compris+{{:commit:2019:bwin_avant2.png?300|avant}} {{:commit:2019:bwin_apres.png?300|après}}
  
-Ceci m'amène à conclure qu'il faut vraiment essayer de limiter l'utilisation des templates au minimum dans Metafor. C'est une vraie source de problème. Le problème des templates Metafor est qu'il s'agit de templates un peu pourris dont une grande partie des fonctions doit être spécialisée pour un argument donné. Autrement dit, le template n'est valable que pour un nombre très restreint de paramètres et en ajouter un nouveau nécessite la réimplémentation de plusieurs fonctions.+J'ai donc passé sur tous les widgets pour effacer toutes ces tailles fixées "en dur".
  
-Ne faites donc pas de nouveaux templates pour le plaisir d'en faire; +Un autre problème sous Ubuntu est l'ouverture des fenêtres 'VizWin'. Elles s'ouvrent par moment avec une taille ridicule qui correspond à la taille de la fenêtre VizWin dans le QtDesigner. Normalement VizWin doit s'afficher et se redimensionner soit à la taille par défaut, soit à la taille qui a été sauvegardée précédemment. Cette opération de redimensionnement se passe mal sur le bureau Gnome et je suspecte une interaction non voulue entre cette opération de redimensionnement et les effets de bureau de Gnome où les fenêtres n'apparaissent pas d'un seul coup. Un autre facteur qui ne vient pas aider est le fait que, dans Metafor, l'interface graphique est dans un thread séparé, piloté par le thread python via des requêtes inter-threads dont je ne connais pas les détails techniques.
  
 +J'ai essayé de jouer sur plusieurs plans pour obtenir un bon redimensionnement. Au final, ça marche beaucoup mieux qu'avant mais ça ne marche pas toujours. J'ai donc simplement augmenté la taille de VizWin dans le QtDesigner pour que, quand ça foire, la fenêtre ne soit pas minuscule.
  
 +===== ProjectionSelector =====
 +
 +Les cas tests de redressage pour Minitubes nécessitent l'utilisation de l'ancien projection selector codé par Ludo sur base du travail de Denis Graillet. En effet, le nouvel algorithme de Gaëtan provoque des mauvaises projections qui ne sont clairement pas normales à la surface. Le problème avec l'ancien algorithme, c'est qu'il affiche, dans certains cas pathologiques, des infos pour dire qu'il ne s'en sort plus dans le choix des projections multiples et qu'il choisit alors la première. Ces infos sont tellement courantes dans les tests de redressage (2 tubes maillés qui sont en contact l'un dans l'autre), que le fichier de sortie devient énorme. 
 +
 +J'ai donc simplement supprimé l'affichage de ces warnings (ils sont connus et ne servent que si quelqu'un voulait débuguer le truc) 
 +
 +
 +===== Tabs/Espaces =====
 +
 +J'ai supprimé les tabs qui avaient été ajoutés lors de commits précédents (principalement par Gaëtan).
 +
 + --- //[[r.boman@ulg.ac.be|boman]] 2019/07/10 14:27// 
  
commit/futur/robo.1504699035.txt.gz · Last modified: 2017/09/06 13:57 by boman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki