Guest User

Untitled

a guest
Feb 19th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. \documentclass[10pt]{article}
  2. \begin{document}
  3.  
  4. \subsubsection{L'interface}
  5. \paragraph{Découverte de GTK}
  6. Pour amener 3D Map Pro à un niveau professionel il était impératif de fournir une interface graphique simple et efficace. L'une des seules librairies d'interface graphiques à fournir une version OCaml est GTK, via le binding lablgtk. Il a donc fallu découvrir les joies (et surtout les peines) de la création d'interface avec lablgtk.
  7.  
  8. GTK repose sur le principe de l'emboîtement : chaque élément est un "widget", et chaque widget est soit un widget final (bouton, champ de texte ...) ou un conteneur. Les conteneurs peuvent contenir d'autres widgets, y compris d'autres conteneurs. On peut ainsi emboîter à l'infini nos éléments de contrôle.
  9.  
  10. Pour pouvoir fournir une réponse aux actions de l'utilisateur sur l'interface, il faut intercepter les évènements des widgets. Par exemple, lorsqu'un bouton est cliqué, la fonction associée à l'évènement \textit{clicked}. On connecte alors notre fonction associée, appelée \textit{fonction de callback}, à l'évènement.
  11.  
  12. \paragraph{Première version}
  13. La première version de l'interface était simplement un conteneur vertical avec un widget affichant l'image de la carte suivi d'une série de boutons permettant d'effectuer les opérations disponibles dans le module de traitement d'image. L'image résultante de l'opération remplaçait celle de départ dans la fenêtre. Il était ainsi possible de tester rapidement nos fonctions et de voir le rendu facilement.
  14.  
  15. [Screen de la old interface]
  16.  
  17. \paragraph{Seconde version}
  18. Cependant cette interface n'était pas définitive. Tout d'abord il manquait de nombreuses fonctions, et l'agencement était loin d'être élégant. Il a donc fallu repenser sa conception pour avoir un rendu simple et à la fois pratique. Avec de nombreuses heures d'intenses réflexions nous sommes arrivés à un résultat satisfaisant :
  19.  
  20. [Screen de l'interface avec GUILLAUME]
  21.  
  22. \paragraph{Tentatives d'utilisation de Glade/Gazpacho}
  23. Pour implémenter cette nouvelle architecture dans notre projet, nous nous sommes tournés vers les logiciels de création d'interface Glade et Gazpacho. Ces logiciels WYSIWYG génèrent des fichiers XML qui peuvent être interprétés par GTK pour générer la fenêtre et ses widgets. Cependant, sur Fedora, le bouton pour choisir le mode d'enregistrement compatible avec notre version de GTK. Après s'être rendu compte de cela, nous avons travaillé sur Ubuntu pour pouvoir générer un fichier compatible. Une fois ce fichier généré, nous avons tenté de l'utiliser pour construire l'interface dans notre projet, infructueusement. Sur les racks la librairie permettant d’interpréter les fichiers XML n'était pas installée.
  24.  
  25. Quant à gazpacho, impossible de le garder ouvert assez longtemps pour avoir un résultat, les crashs ont eu le dessus sur notre patience.
  26.  
  27. \paragraph{Version actuelle}
  28. [Screen de l'interface actuelle]
  29. Aux vues des déboires que nous avons eu avec les générateurs d'interface, nous avons opté pour une implémentation à la main.
  30. On peut la découper en 2 grandes parties :
  31. \begin{itemize}
  32. \item Le rendu 3D
  33. \item Les options
  34. \end{itemize}
  35. Une classique barre de menu est également disponible en haut de la fenêtre.
  36.  
  37. \paragraph{Fonctionnement}
  38. Pour utiliser 3D Map Pro, commencer par lancer l'exécutable. Une fois lancé, utilisez le menu Fichier > Ouvrir. Une fenêtre va s'ouvrir vous permettant de charger un fichier image. Vous pourrez visualiser une miniature l'image dans le panneau de droite. Ensuite vous pouvez appliquer des filtres si votre image est de mauvaise qualité. Pour cela, on peut séléctionner le filtre de son choix dans le menu déroulant puis cliquer sur le bouton \textit{Apply}. Une fois satisfait de son image traitée, il faut générer l'objet 3D. Pour cela plusieurs méthodes de triangularisation sont disponibles. Sélectionnez pour cela votre méthode dans le menu déroulant puis cliquez sur Process cochez grayscale si vous voulez que les hauteurs soient calculées automatiquement, sinon une fenêtre vous demandera de rentrez vos valeurs. Une fois le traitement terminé la carte sera affiché dans la zone 3D
  39.  
  40. Le mode 3D possède plusieurs modes d'affichage, pouvant être choisi par un menu déroulant dans le panneau de droite.
  41. Il est également possible d'activer/désactiver les textures/l'eau via des cases à cocher.
  42. \end{document}
Add Comment
Please, Sign In to add comment