summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2011-05-29 21:54:08 +0000
committerJakob Odersky <jodersky@gmail.com>2011-05-29 21:54:08 +0000
commit8f4d2297bc7f06c11fc915caa41041ca2f4379c4 (patch)
tree712a47a7ece0689bc1fdc231eeee298b500016e3
parent08411697aed67f3a842b141dbf1d14725d417299 (diff)
downloadvhc-8f4d2297bc7f06c11fc915caa41041ca2f4379c4.tar.gz
vhc-8f4d2297bc7f06c11fc915caa41041ca2f4379c4.tar.bz2
vhc-8f4d2297bc7f06c11fc915caa41041ca2f4379c4.zip
Commit final apres avoir rendu le projet.
-rw-r--r--JOURNAL.txt541
-rw-r--r--NOMS2
-rw-r--r--README.txt4
-rw-r--r--REPONSES.pdfbin0 -> 134310 bytes
-rw-r--r--jean-daniel-g84.zipbin0 -> 399116 bytes
-rw-r--r--reponses.lyx899
-rw-r--r--src/gui/Main.cc213
-rw-r--r--structure.lyx331
-rw-r--r--structure.pdfbin67225 -> 0 bytes
9 files changed, 538 insertions, 1452 deletions
diff --git a/JOURNAL.txt b/JOURNAL.txt
index 849d5b2..aa0f1f1 100644
--- a/JOURNAL.txt
+++ b/JOURNAL.txt
@@ -1,9 +1,532 @@
-[26/02/2011 jakob] Creation de la classe `Vector3', essais divers.
-[01/03/2011] Discussion sur la structure du projet, conventions de style de code, mise en place d'un serveur SVN: https://svn.epfl.ch/svn/virtual-hadron-collider/.
-[02/03/2011 jakob] Repondu a la premiere question. Amelioration de la classe `Vector3'.
-[08/03/2011] Installation de linux et configuration de l'environement de developpement sur le portable de Christian.
-[08/03/2011] Traduction des commentaires en francais. Desormais, tout identificateur restera en anglais mais tous les commentaires seront ecris en francais.
-[10/03/2011 jakob] Definition de la classe particule.
-[12/03/2011 jakob] Mise en place d'un systeme de makefiles recursifs. Le makefile principale appelle des makefiles dans les differents repertoires source. Voir document "structure.pdf" pour plus de detailles.
-[13/03/2011 jakob] Creation d'un systeme de test automatise. Les fichiers test compiles sont executes par un script shell et leurs valeurs de retour indiquent leurs succes respectifs (0=PASSE). Ce script est aussi appele par make, via la commande `make test'.
-[../03/2011 christian] Premiers widgets (boutons, fenêtres, curseurs) sous QT.
+------------------------------------------------------------------------
+r1 | root | 2011-03-01 14:51:26 +0100 (Tue, 01 Mar 2011) | 1 line
+
+Initial structure
+------------------------------------------------------------------------
+r2 | jnodersk | 2011-03-01 18:03:20 +0100 (Tue, 01 Mar 2011) | 1 line
+
+Initial import.
+------------------------------------------------------------------------
+r3 | jnodersk | 2011-03-02 14:07:26 +0100 (Wed, 02 Mar 2011) | 1 line
+
+Created configuration file for doxygen `Doxyfile'. Modified Vector3.getUnit(), now throws exception when called on null vector.
+------------------------------------------------------------------------
+r4 | jnodersk | 2011-03-02 14:12:20 +0100 (Wed, 02 Mar 2011) | 1 line
+
+Modified svn ignore property to ignore `doc' and `Debug' directories.
+------------------------------------------------------------------------
+r5 | jnodersk | 2011-03-02 15:30:59 +0100 (Wed, 02 Mar 2011) | 1 line
+
+Added `reponses.lyx'.
+------------------------------------------------------------------------
+r6 | jnodersk | 2011-03-02 15:53:18 +0100 (Wed, 02 Mar 2011) | 1 line
+
+Made Vector3 static variables Null, i, j, k constant.
+------------------------------------------------------------------------
+r7 | jnodersk | 2011-03-02 15:55:03 +0100 (Wed, 02 Mar 2011) | 1 line
+
+Updated JOURNAL.
+------------------------------------------------------------------------
+r8 | jnodersk | 2011-03-05 20:35:05 +0100 (Sat, 05 Mar 2011) | 1 line
+
+Renamed `Vector3' to `Vector3D'.
+------------------------------------------------------------------------
+r9 | jnodersk | 2011-03-08 20:50:22 +0100 (Tue, 08 Mar 2011) | 1 line
+
+[FR] Traduit les commentaires en francais. Desormais tout commentaire sera ecrit en francais.
+------------------------------------------------------------------------
+r10 | jnodersk | 2011-03-08 21:36:26 +0100 (Tue, 08 Mar 2011) | 1 line
+
+Corrige une erreur dans la methode `getUnit()' de `Vector3D'.
+------------------------------------------------------------------------
+r11 | jnodersk | 2011-03-09 14:05:35 +0100 (Wed, 09 Mar 2011) | 1 line
+
+Ajout du fichier compile `REPONSES.pdf'.
+------------------------------------------------------------------------
+r12 | jnodersk | 2011-03-09 14:20:04 +0100 (Wed, 09 Mar 2011) | 1 line
+
+Traduit le commentaire de `vhc.cc' en francais.
+------------------------------------------------------------------------
+r13 | cdvazque | 2011-03-09 15:39:33 +0100 (Wed, 09 Mar 2011) | 1 line
+
+tests divers
+------------------------------------------------------------------------
+r14 | jnodersk | 2011-03-09 15:50:19 +0100 (Wed, 09 Mar 2011) | 1 line
+
+blabla
+------------------------------------------------------------------------
+r15 | jnodersk | 2011-03-09 15:51:21 +0100 (Wed, 09 Mar 2011) | 1 line
+
+supprime tests
+------------------------------------------------------------------------
+r16 | jnodersk | 2011-03-11 13:42:06 +0100 (Fri, 11 Mar 2011) | 1 line
+
+Mise a jour de `Vector3D'.
+------------------------------------------------------------------------
+r17 | jnodersk | 2011-03-11 21:13:06 +0100 (Fri, 11 Mar 2011) | 1 line
+
+Mise en place d'un systeme de Makefiles. Lancer `make all' _dans_le_repertoire_du_projet_ pour une compilation du projet.
+------------------------------------------------------------------------
+r18 | jnodersk | 2011-03-12 12:20:07 +0100 (Sat, 12 Mar 2011) | 1 line
+
+Reorganisation du repertoire source. Les sources principaux sont dans `src/main' et les tests dans `src/test'.
+------------------------------------------------------------------------
+r19 | jnodersk | 2011-03-12 12:24:05 +0100 (Sat, 12 Mar 2011) | 1 line
+
+suppression de residus de la reorganisation
+------------------------------------------------------------------------
+r20 | jnodersk | 2011-03-12 14:04:12 +0100 (Sat, 12 Mar 2011) | 1 line
+
+Ajout des cibles make dans eclipse. Ajout d'une explication sur la structure du projet (structure.pdf).
+------------------------------------------------------------------------
+r21 | jnodersk | 2011-03-13 15:25:15 +0100 (Sun, 13 Mar 2011) | 1 line
+
+Creation d'un systeme de test automatise.
+------------------------------------------------------------------------
+r22 | jnodersk | 2011-03-13 15:28:03 +0100 (Sun, 13 Mar 2011) | 1 line
+
+Mise a jour de `structure.pdf' et du Makefile, doc et test ne sont plus inclus dans all.
+------------------------------------------------------------------------
+r23 | jnodersk | 2011-03-13 16:34:13 +0100 (Sun, 13 Mar 2011) | 1 line
+
+Modification des makefiles.
+------------------------------------------------------------------------
+r24 | jnodersk | 2011-03-16 16:22:22 +0100 (Wed, 16 Mar 2011) | 1 line
+
+ajout de printable
+------------------------------------------------------------------------
+r25 | cdvazque | 2011-03-17 16:12:23 +0100 (Thu, 17 Mar 2011) | 1 line
+
+implémenté le produit mixte
+------------------------------------------------------------------------
+r26 | jnodersk | 2011-03-17 22:54:24 +0100 (Thu, 17 Mar 2011) | 6 lines
+
+-creation d'un espace de nom contenant des constantes physiques
+-changement du makefile des tests: les tests ne doivent plus etre manuellement ajoutes au makefile (a condition que le fichier s'appelle *Test.cc)
+-completion de la classe particule, j'ai toujours des questions sur l'implementation de l'energie, il faudrait en parler prochainement
+-repondu a la question 5.1 mais j'ai egalement des doutes
+-completion de la classe element
+-documentation divers
+------------------------------------------------------------------------
+r27 | jnodersk | 2011-03-17 22:54:46 +0100 (Thu, 17 Mar 2011) | 6 lines
+
+-creation d'un espace de nom contenant des constantes physiques
+-changement du makefile des tests: les tests ne doivent plus etre manuellement ajoutes au makefile (a condition que le fichier s'appelle *Test.cc)
+-completion de la classe particule, j'ai toujours des questions sur l'implementation de l'energie, il faudrait en parler prochainement
+-repondu a la question 5.1 mais j'ai egalement des doutes
+-completion de la classe element
+-documentation divers
+------------------------------------------------------------------------
+r28 | cdvazque | 2011-03-19 10:48:08 +0100 (Sat, 19 Mar 2011) | 3 lines
+
+Implémenté une méthode rotation vectorielle, à optimiser.
+Rajouté les accents dans les commentaires, mis à jour le journal.
+Subsiste une erreur dans le fichier Particule.h.
+------------------------------------------------------------------------
+r29 | cdvazque | 2011-03-22 07:43:46 +0100 (Tue, 22 Mar 2011) | 1 line
+
+Complété le fichier réponses, crée la classe courbe, modifié la fonction rotation vectorielle.
+------------------------------------------------------------------------
+r30 | jnodersk | 2011-03-22 11:19:28 +0100 (Tue, 22 Mar 2011) | 1 line
+
+genere pdf reponses
+------------------------------------------------------------------------
+r31 | jnodersk | 2011-03-22 14:39:41 +0100 (Tue, 22 Mar 2011) | 1 line
+
+resolu problemes avec veteurs
+------------------------------------------------------------------------
+r32 | jnodersk | 2011-03-22 16:01:48 +0100 (Tue, 22 Mar 2011) | 1 line
+
+Ajoute elements courbes et droits. Leur implementation est en cours...
+------------------------------------------------------------------------
+r33 | cdvazque | 2011-03-22 16:04:38 +0100 (Tue, 22 Mar 2011) | 1 line
+
+corrigé des réponses
+------------------------------------------------------------------------
+r34 | jnodersk | 2011-03-22 22:06:08 +0100 (Tue, 22 Mar 2011) | 1 line
+
+Modifie quelques problemes avec les elements. Element droits sont implementes, elements courbes pas encore mais j'ai l'idee sur papier.
+------------------------------------------------------------------------
+r35 | cdvazque | 2011-03-23 13:10:41 +0100 (Wed, 23 Mar 2011) | 1 line
+
+
+------------------------------------------------------------------------
+r36 | cdvazque | 2011-03-23 13:12:05 +0100 (Wed, 23 Mar 2011) | 1 line
+
+Class Accelerator created. To be continued.
+------------------------------------------------------------------------
+r37 | cdvazque | 2011-03-23 13:13:21 +0100 (Wed, 23 Mar 2011) | 1 line
+
+Completed file reponses.lyx
+------------------------------------------------------------------------
+r38 | jnodersk | 2011-03-23 14:31:54 +0100 (Wed, 23 Mar 2011) | 1 line
+
+Implemente element courbe. Ajoute `virtual' a toutes les methodes virtuelles heritees.
+------------------------------------------------------------------------
+r39 | jnodersk | 2011-03-23 15:32:56 +0100 (Wed, 23 Mar 2011) | 1 line
+
+Resolu probleme avec construction de Element.
+------------------------------------------------------------------------
+r40 | jnodersk | 2011-03-23 15:46:29 +0100 (Wed, 23 Mar 2011) | 1 line
+
+Mofifie Straight et Curved en StraightElement et CurvedElement.
+------------------------------------------------------------------------
+r41 | jnodersk | 2011-03-24 12:10:15 +0100 (Thu, 24 Mar 2011) | 1 line
+
+Creation de CompositeElement, une classe representant des elements composes.
+------------------------------------------------------------------------
+r43 | jnodersk | 2011-03-24 20:29:58 +0100 (Thu, 24 Mar 2011) | 3 lines
+
+*Change `CompositeElement' en classe abstraite.
+*Commentaires divers.
+*Creation du repertoire src/gui pour tout code concernant l'interface graphique.
+------------------------------------------------------------------------
+r44 | jnodersk | 2011-03-24 21:30:11 +0100 (Thu, 24 Mar 2011) | 1 line
+
+Implementation d'un "framework" d'exceptions, c.f. `exceptions.h'.
+------------------------------------------------------------------------
+r45 | jnodersk | 2011-03-24 22:50:25 +0100 (Thu, 24 Mar 2011) | 3 lines
+
+*Implementation d'une methode d'affichage polymorphique d'elements.
+*Suppression des methodes set dans elements.
+*Mise en place d'un fichier test pour elements.
+------------------------------------------------------------------------
+r46 | jnodersk | 2011-03-24 23:16:40 +0100 (Thu, 24 Mar 2011) | 1 line
+
+Defini element electrique.
+------------------------------------------------------------------------
+r47 | jnodersk | 2011-03-24 23:18:55 +0100 (Thu, 24 Mar 2011) | 1 line
+
+Corrige erreurs dans ElectricElement (commit auparavant).
+------------------------------------------------------------------------
+r48 | cdvazque | 2011-03-27 16:55:09 +0200 (Sun, 27 Mar 2011) | 5 lines
+
+Updated 'Reponses'.
+New class Accelerator and related test file.
+Updated makefile from ./main
+few doxygen comments added
+
+------------------------------------------------------------------------
+r49 | jnodersk | 2011-03-28 19:36:20 +0200 (Mon, 28 Mar 2011) | 2 lines
+
+*Suppression de `MagneticElement' et `ElectricElement', les valeurs de B et E en fonction de la position sont definis dans `Element' et prennent comme valeur par defaut le vecteur nul.
+*Creation du dipole.
+------------------------------------------------------------------------
+r50 | jnodersk | 2011-03-28 19:39:39 +0200 (Mon, 28 Mar 2011) | 1 line
+
+Resolu quelques erreurs du dernier commit.
+------------------------------------------------------------------------
+r51 | jnodersk | 2011-03-29 19:15:43 +0200 (Tue, 29 Mar 2011) | 1 line
+
+Implementation de quadripole et de maille FODO.
+------------------------------------------------------------------------
+r52 | jnodersk | 2011-03-29 21:21:17 +0200 (Tue, 29 Mar 2011) | 1 line
+
+Modification de `ParticleTest'.
+------------------------------------------------------------------------
+r53 | jnodersk | 2011-03-30 20:40:50 +0200 (Wed, 30 Mar 2011) | 1 line
+
+Essais avec OpenGL
+------------------------------------------------------------------------
+r54 | jnodersk | 2011-03-31 16:55:08 +0200 (Thu, 31 Mar 2011) | 1 line
+
+Essais OpenGL
+------------------------------------------------------------------------
+r55 | jnodersk | 2011-04-02 21:41:50 +0200 (Sat, 02 Apr 2011) | 1 line
+
+Implemente le `Visitor Pattern' pour les elements.
+------------------------------------------------------------------------
+r56 | jnodersk | 2011-04-03 22:50:45 +0200 (Sun, 03 Apr 2011) | 1 line
+
+Essais graphiques, modifications du VisitorPattern.
+------------------------------------------------------------------------
+r57 | jnodersk | 2011-04-05 00:13:09 +0200 (Tue, 05 Apr 2011) | 1 line
+
+Continuation de l'interface graphique, changements du visitor pattern.
+------------------------------------------------------------------------
+r58 | jnodersk | 2011-04-05 21:02:15 +0200 (Tue, 05 Apr 2011) | 1 line
+
+foo
+------------------------------------------------------------------------
+r59 | jnodersk | 2011-04-05 21:07:27 +0200 (Tue, 05 Apr 2011) | 1 line
+
+
+------------------------------------------------------------------------
+r61 | jnodersk | 2011-04-06 15:07:59 +0200 (Wed, 06 Apr 2011) | 1 line
+
+Une camera qui fonctionne!
+------------------------------------------------------------------------
+r62 | cdvazque | 2011-04-06 15:35:06 +0200 (Wed, 06 Apr 2011) | 2 lines
+
+répondu à des questions
+
+------------------------------------------------------------------------
+r63 | jnodersk | 2011-04-06 17:03:36 +0200 (Wed, 06 Apr 2011) | 1 line
+
+Amelioration de la camera, mise en scene de plusieurs elements. Debut d'implementation de la `vraie' classe de rendement graphique.
+------------------------------------------------------------------------
+r64 | cdvazque | 2011-04-07 07:53:12 +0200 (Thu, 07 Apr 2011) | 1 line
+
+2 nouvelles méthodes add et killall
+------------------------------------------------------------------------
+r65 | jnodersk | 2011-04-12 19:42:39 +0200 (Tue, 12 Apr 2011) | 1 line
+
+Debut de creation d'une classe scene pour la simulation graphique.
+------------------------------------------------------------------------
+r66 | jnodersk | 2011-04-12 19:44:08 +0200 (Tue, 12 Apr 2011) | 1 line
+
+Modifictaion de svn:ignore dans gui
+------------------------------------------------------------------------
+r67 | jnodersk | 2011-04-12 22:16:56 +0200 (Tue, 12 Apr 2011) | 1 line
+
+Changements mineures dans la classe 'Accelerator'. Je me suis permis de faire ces changemenets car j'ai besoin de l'accelerateur pour la simulation graphique.
+------------------------------------------------------------------------
+r68 | jnodersk | 2011-04-12 23:07:01 +0200 (Tue, 12 Apr 2011) | 1 line
+
+Ajout de la methode 'copy()' pour chaque element.
+------------------------------------------------------------------------
+r69 | jnodersk | 2011-04-12 23:31:48 +0200 (Tue, 12 Apr 2011) | 1 line
+
+Renomme la methode 'copy()' a 'clone()'. Cette methode est declaree dans une classe abstraite 'Cloneable'
+------------------------------------------------------------------------
+r70 | jnodersk | 2011-04-13 00:09:47 +0200 (Wed, 13 Apr 2011) | 1 line
+
+Changements mineures de l'accelerateur. Les elements sont copies lors de leur ajout.
+------------------------------------------------------------------------
+r71 | jnodersk | 2011-04-13 00:38:46 +0200 (Wed, 13 Apr 2011) | 1 line
+
+Unites convertis en unites SI pour l'utilisation interne.
+------------------------------------------------------------------------
+r72 | jnodersk | 2011-04-13 02:10:05 +0200 (Wed, 13 Apr 2011) | 1 line
+
+Continuation de la classe Stage. On arrive maintenant a visualiser un accelerateur.
+------------------------------------------------------------------------
+r73 | jnodersk | 2011-04-13 15:26:54 +0200 (Wed, 13 Apr 2011) | 1 line
+
+version amelioree de l'interface graphique
+------------------------------------------------------------------------
+r74 | jnodersk | 2011-04-13 15:36:58 +0200 (Wed, 13 Apr 2011) | 1 line
+
+rajout de 'Cloneable', oublie auparavant
+------------------------------------------------------------------------
+r75 | jnodersk | 2011-04-15 17:48:34 +0200 (Fri, 15 Apr 2011) | 1 line
+
+Resolu probleme avec rendement a l'envers d'elements courbes. Interface graphique amelioree.
+------------------------------------------------------------------------
+r76 | jnodersk | 2011-04-16 18:12:04 +0200 (Sat, 16 Apr 2011) | 1 line
+
+Ajoute une classe abstraite 'Renderer' pour dessiner tout objet. Par consequent j'ai remarque une erreur de const-correctness dans le visitor pattern. J'ai donc modifie celui-ci, c'est a dire un visiteur ne peut pas changer un element (pas d'appel a des methodes non-const) ni etre change par un element.
+------------------------------------------------------------------------
+r77 | jnodersk | 2011-04-16 22:10:52 +0200 (Sat, 16 Apr 2011) | 1 line
+
+Amelioration de l'interface grap graphique.
+------------------------------------------------------------------------
+r78 | jnodersk | 2011-04-17 22:05:38 +0200 (Sun, 17 Apr 2011) | 1 line
+
+Migration de tous les implementations dans les fichier .h vers les fichiers .cc
+------------------------------------------------------------------------
+r79 | jnodersk | 2011-04-17 22:24:32 +0200 (Sun, 17 Apr 2011) | 1 line
+
+Repare erreur commise dans Vector3D, dans la revision precedente.
+------------------------------------------------------------------------
+r80 | jnodersk | 2011-04-17 22:51:10 +0200 (Sun, 17 Apr 2011) | 1 line
+
+Nettoyage dans gui.
+------------------------------------------------------------------------
+r81 | jnodersk | 2011-04-18 01:03:45 +0200 (Mon, 18 Apr 2011) | 1 line
+
+Ajoute possibilite de simuler!
+------------------------------------------------------------------------
+r82 | cdvazque | 2011-04-19 09:49:34 +0200 (Tue, 19 Apr 2011) | 1 line
+
+ajouté qq lignes de commentaire.
+------------------------------------------------------------------------
+r83 | jnodersk | 2011-04-19 17:49:14 +0200 (Tue, 19 Apr 2011) | 1 line
+
+Resolution de quelques bugs mineures.
+------------------------------------------------------------------------
+r84 | jnodersk | 2011-04-20 13:02:36 +0200 (Wed, 20 Apr 2011) | 1 line
+
+Reparation du quadrupole.
+------------------------------------------------------------------------
+r85 | cdvazque | 2011-04-21 07:54:15 +0200 (Thu, 21 Apr 2011) | 3 lines
+
+Mis à jour AccelTest et toString de Accelerator.
+Rjouté quelques commentaires (dans FODO).
+Crée un fichier P10ExerciceTest.
+------------------------------------------------------------------------
+r86 | jnodersk | 2011-04-24 15:31:11 +0200 (Sun, 24 Apr 2011) | 12 lines
+
+*Ajout d'un pointeur sur les element precedents.
+*Implementation de la methode 'close()' dans l'accelerateur.
+*Restructuration des methodes geometriques des elements.
+ -Ajout d'une methode isBefore(): determine si un point est contenu dans l'espace avant le plan de la face d'entree.
+ -Ajout d'une methode isBeside(): determine si un point est plus proche de la trajectoire ideal que le rayon de section.
+ -Ajout d'une methode isAfter(): determine si un point est contenu dans l'espace apres le plan de la face de sortie.
+ -Ajout d'une methode contains(): determine si un point est contenu dans l'element (contains = !(isBefore || isBeside || isAfter))
+ -La methode isPast() (passe_au_suivant selon projet) a ete supprimee, elle est a remplacer par isAfter().
+ -La methode hitWall() (heurte_bord selon projet) a ete supprimee, elle est a remplacer par isBeside().
+*Resolution d'un bug dans la methode isBeside() de StraightElement, avant une particule ne pouvait jamais heuter le bord!
+*Ajout des cibles gui et gui-build dans eclipse.
+
+------------------------------------------------------------------------
+r87 | jnodersk | 2011-04-24 19:41:29 +0200 (Sun, 24 Apr 2011) | 1 line
+
+Modification de la mise en page de toString
+------------------------------------------------------------------------
+r88 | jnodersk | 2011-04-24 19:42:21 +0200 (Sun, 24 Apr 2011) | 1 line
+
+Suppression du Makefile gui. On n'en a pas besoin car celui-ci est genere par qmake!
+------------------------------------------------------------------------
+r89 | jnodersk | 2011-04-25 12:23:20 +0200 (Mon, 25 Apr 2011) | 1 line
+
+Resolu quelques warinings, ajout de l'accelerateur donne en exemple.
+------------------------------------------------------------------------
+r90 | jnodersk | 2011-04-25 14:58:55 +0200 (Mon, 25 Apr 2011) | 2 lines
+
+*J'ai revu les 3 premier exercises du projet et modifie quelques reponses (jusqu'a P7.2 compris) et fichiers tests.
+*Rajoute la classe MutableVector3D pour representer des vecteurs mutables.
+------------------------------------------------------------------------
+r91 | jnodersk | 2011-05-01 16:07:41 +0200 (Sun, 01 May 2011) | 3 lines
+
+Changements importants dans l'accelerateur. Nous travaillons maintenant avec une list au lieu d'un vector. Ceci pour pouvoir supprimer une particule a temps constant qui aurait heurte le bord d'un element. On ne peut donc plus acceder a un element quelconque de la liste mais il faut l'iterer!
+Mais comme, de toutes facons, on ne fait que d'iterer sur une liste lors d'une simulation deterministe ceci convient. Peut-etre il faudra adapter cette conception pour une simulation monte-carlo.
+
+------------------------------------------------------------------------
+r92 | jnodersk | 2011-05-03 15:50:04 +0200 (Tue, 03 May 2011) | 1 line
+
+Repare bug dans la fermeture de l'accelerateur. Ajout d'un test de performance de l'accelerateur.
+------------------------------------------------------------------------
+r93 | cdvazque | 2011-05-03 17:37:07 +0200 (Tue, 03 May 2011) | 2 lines
+
+crée un nouveau dossier pour les exercices à rendre.
+Il faudrait recréer un makefile dans ce dossier exercice.
+------------------------------------------------------------------------
+r94 | cdvazque | 2011-05-04 16:05:32 +0200 (Wed, 04 May 2011) | 3 lines
+
+1)mis à jour le fichier acceltest
+2)modifié la methode applyforce dans particle.h pas l'ajout d'un asin
+3)déplacé le fichier exerciceP10 dans le dossier 'Test'
+------------------------------------------------------------------------
+r95 | jnodersk | 2011-05-04 17:13:27 +0200 (Wed, 04 May 2011) | 1 line
+
+Migration de la gestion des evenements clavier de Stage a KeyManager
+------------------------------------------------------------------------
+r96 | cdvazque | 2011-05-04 17:30:43 +0200 (Wed, 04 May 2011) | 3 lines
+
+1)créé le fichier ElementsSimulationTest
+2)mis a jour acceltest
+3)mis a jour exerciceP10test
+------------------------------------------------------------------------
+r97 | cdvazque | 2011-05-11 14:05:20 +0200 (Wed, 11 May 2011) | 1 line
+
+modifié le test sur la simulation dans des éléments séparés. (test ne fonctionne pas)
+------------------------------------------------------------------------
+r98 | jnodersk | 2011-05-11 16:59:00 +0200 (Wed, 11 May 2011) | 1 line
+
+Rajoute getHorizontalAt() pour tous les elements, en vue des faisceaux
+------------------------------------------------------------------------
+r99 | cdvazque | 2011-05-13 16:26:30 +0200 (Fri, 13 May 2011) | 6 lines
+
+Créé:
+exerciceP13
+Parser (.cc et .h)
+exerciceP11test
+Mis é jour:
+elementsimulationtest
+------------------------------------------------------------------------
+r100 | jnodersk | 2011-05-17 17:37:32 +0200 (Tue, 17 May 2011) | 1 line
+
+Implementation de faisceaux.
+------------------------------------------------------------------------
+r101 | cdvazque | 2011-05-18 07:38:32 +0200 (Wed, 18 May 2011) | 1 line
+
+Crée la classe Parser et le fichier d'essai simulation.cc
+------------------------------------------------------------------------
+r102 | jnodersk | 2011-05-19 10:33:16 +0200 (Thu, 19 May 2011) | 5 lines
+
+Migration des particules vers les faisceau.
+Il reste une subtilite a gerer: pour des raisons de compatibilite, un accelerateur contient toujours une methode getParticles(). Celle-ci renvoi une concatenation de tous les particules de tous les faisceaux de l'accelerateur.
+Or il y a un probleme d'allocation de la memoire avec cette methode (temporairement repare dans cette revision mais degeu!). Je vois deux solutions:
+1) changer tous les test qui appellent la methode getParticles()
+2) essayer de reparer le probleme d'allocation (difficile et je ne sais pas si c'est possible)
+------------------------------------------------------------------------
+r103 | jnodersk | 2011-05-23 18:19:06 +0200 (Mon, 23 May 2011) | 1 line
+
+Ajout des bunchs :)
+------------------------------------------------------------------------
+r104 | cdvazque | 2011-05-24 08:53:59 +0200 (Tue, 24 May 2011) | 10 lines
+
+1)mis à jour les test d'accélérateur et l'exercice P11
+
+2)rajouté une exception 'ReadException' que j'ai dotée d'une méthode 'addReadExceptionMessage' car il y a un endroit (dans la classe parseur) où une telle exception déjà existante est récupérée, mais il faudrait juste rajouter une information supplémentaire avant de la relancer pour un traitment à une niveau plus haut.
+
+3)mis à jour ou créé simulation.cc simulation.xml et classe Parseur
+
+j'ai rempli le fichier simulation.xml sur la base de l'exerciceP11, mais cela ne comile certainement plus depuis l'ajout des faisceaux, donc c'est encore à voir.
+
+dans la classe parseur, reste encore à voir comment inclure les constantes car on va en avoir besoin, et aussi comment construire l'accélérateur renvoyé par la méthode 'extract' contenant les éléments et particules...
+du reste la classe parseur est encore en plein chantier.
+------------------------------------------------------------------------
+r105 | jnodersk | 2011-05-24 16:25:00 +0200 (Tue, 24 May 2011) | 1 line
+
+Ajoute un modele de publisher/subscriber en vue des interactions entre particules.
+------------------------------------------------------------------------
+r106 | jnodersk | 2011-05-26 22:45:09 +0200 (Thu, 26 May 2011) | 3 lines
+
+*Creation des interacteurs, une maniere de gerer les interactions entre particules orientee evenement.
+*Completion de commentaires de tous les fichiers de main
+*Reponses aux questions
+------------------------------------------------------------------------
+r107 | jnodersk | 2011-05-26 23:26:27 +0200 (Thu, 26 May 2011) | 2 lines
+
+*Repare le dernier commit (oops :@)
+* Ajout d'encore plus de commentaires
+------------------------------------------------------------------------
+r108 | cdvazque | 2011-05-27 19:14:52 +0200 (Fri, 27 May 2011) | 1 line
+
+Mis à jour la classe parceur et le fichier xml.
+------------------------------------------------------------------------
+r109 | cdvazque | 2011-05-27 20:56:22 +0200 (Fri, 27 May 2011) | 1 line
+
+Créé la classe Color. A voir si on en fait hériter quelques classes filles de Printable (p.ex. les Particles) ...
+------------------------------------------------------------------------
+r110 | cdvazque | 2011-05-27 21:10:46 +0200 (Fri, 27 May 2011) | 1 line
+
+Corrigé quelques erreurs. reste encore à voir comment initialiser dans le .cc les tableaux de taille fixe statiques du header...=(
+------------------------------------------------------------------------
+r111 | cdvazque | 2011-05-28 17:13:39 +0200 (Sat, 28 May 2011) | 5 lines
+
+Mis à jour le parseur, et la fichier simulation.cc (renommé en simulation.cc et déplacé dans le dossier test).
+
+Modifié le fichier simulation.xml.
+
+La classe parseur ne compile pas ('undefined reference to'). Après consultation du forum, c'est peut-être un problème en rapport avec le makefile.
+------------------------------------------------------------------------
+r112 | cdvazque | 2011-05-28 19:26:04 +0200 (Sat, 28 May 2011) | 3 lines
+
+Corrigé quelques erreurs du parser. déplacé 'simulation.xml' dans dossier 'test'.
+
+Créé le fichier 'simulationTest.cc' qui ne marche pas du tout.
+------------------------------------------------------------------------
+r113 | cdvazque | 2011-05-29 12:56:33 +0200 (Sun, 29 May 2011) | 4 lines
+
+Mis à jour le parser.
+Renommé et déplacé le fichier ParserTest.cc
+Renommé et déplacé le fichier accelerator.xml
+
+------------------------------------------------------------------------
+r114 | cdvazque | 2011-05-29 13:23:10 +0200 (Sun, 29 May 2011) | 1 line
+
+Répondu aux questions p14.1 et p19.1
+------------------------------------------------------------------------
+r115 | jnodersk | 2011-05-29 22:09:19 +0200 (Sun, 29 May 2011) | 3 lines
+
+*Ajoute interactions avancees
+*Ecrit conception
+*Commentaires
+------------------------------------------------------------------------
+r116 | jnodersk | 2011-05-29 23:33:34 +0200 (Sun, 29 May 2011) | 1 line
+
+Plein de commentaires derniere minute, creation de readme.
+------------------------------------------------------------------------
diff --git a/NOMS b/NOMS
new file mode 100644
index 0000000..b8bead5
--- /dev/null
+++ b/NOMS
@@ -0,0 +1,2 @@
+Odersky, Jakob, Physique
+Vazquez, Christian, Physique
diff --git a/README.txt b/README.txt
index 2b22926..e7a8c46 100644
--- a/README.txt
+++ b/README.txt
@@ -32,8 +32,12 @@ Interface graphique:
========================
navigation: touches w,a,s,d pour bouger, souris pour changer tourner
+clique gauche: capturer/lacher la souris
+
1: vue pleine
2: vue grille
3: vue points
0: afficher points/spheres pour particules
+REMARQUE: nous avons constate des problemes avec le rendement graphique en salles CO. Ses probleme ne se manifestent que sur les machines virtuelles.
+
diff --git a/REPONSES.pdf b/REPONSES.pdf
new file mode 100644
index 0000000..0a7becb
--- /dev/null
+++ b/REPONSES.pdf
Binary files differ
diff --git a/jean-daniel-g84.zip b/jean-daniel-g84.zip
new file mode 100644
index 0000000..4303f5d
--- /dev/null
+++ b/jean-daniel-g84.zip
Binary files differ
diff --git a/reponses.lyx b/reponses.lyx
deleted file mode 100644
index c8d1fd7..0000000
--- a/reponses.lyx
+++ /dev/null
@@ -1,899 +0,0 @@
-#LyX 1.6.7 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
-\begin_document
-\begin_header
-\textclass article
-\begin_preamble
-\usepackage{color}
-\end_preamble
-\use_default_options true
-\language french
-\inputencoding auto
-\font_roman charter
-\font_sans default
-\font_typewriter cmtt
-\font_default_family default
-\font_sc false
-\font_osf false
-\font_sf_scale 100
-\font_tt_scale 100
-
-\graphics default
-\paperfontsize default
-\spacing single
-\use_hyperref false
-\papersize default
-\use_geometry true
-\use_amsmath 1
-\use_esint 1
-\cite_engine basic
-\use_bibtopic false
-\paperorientation portrait
-\leftmargin 2cm
-\topmargin 2cm
-\rightmargin 2cm
-\bottommargin 2cm
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation indent
-\defskip medskip
-\quotes_language english
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-\tracking_changes false
-\output_changes false
-\author ""
-\author ""
-\end_header
-
-\begin_body
-
-\begin_layout Title
-Réponses aux questions
-\end_layout
-
-\begin_layout Author
-J.
- Odersky
-\begin_inset ERT
-status collapsed
-
-\begin_layout Plain Layout
-
-
-\backslash
-and
-\end_layout
-
-\end_inset
-
- C.
- Vázquez
-\end_layout
-
-\begin_layout Section*
-Question P1.1
-\end_layout
-
-\begin_layout Standard
-Un vecteur est représenté par la classe `Vector3D'.
- Cette classe comprend trois champs privés du type double: x, y et z corresponda
-nt aux composantes du vecteur.
- Ces champs peuvent être accédés respectivement par les méthodes publiques
- getX(), getY() et getZ().
- Les méthodes
-\begin_inset Quotes eld
-\end_inset
-
-opérateurs
-\begin_inset Quotes erd
-\end_inset
-
- sur les vecteurs (par exemple l'addition, la norme, etc...) sont toutes publiques.
-\end_layout
-
-\begin_layout Standard
-Ces méthodes s'appuient entre-elles, par exemple la méthode `opposée' retourne
- le vecteur multiplié par moins un et la méthode `soustraction' additionne
- l'opposé.
- C'est à partir de cette idee que nous avons aussi implémenté une norme
- au carré (=produit scalaire du vecteur avec lui-même) et une norm (=racine
- de la norme au carré).
- Ces appels consécutifs diminuent la performance d'une façon minimale mais
- évitent un duplicage de code considérable.
-\end_layout
-
-\begin_layout Standard
-Un vecteur est complètement invariable.
- C'est-à-dire qu'une fois un vecteur initialisé, on ne peut plus changer
- ses composantes (pas de méthodes `set').
- De même, tous les opérations internes du sens mathématique (qui renvoyent
- un vecteur), renvoyent une nouvelle instance d'un vecteur.
- En aucun cas l'instance d'un vecteur n'est modifiée! Ceci facilite énormément
- le raisonement sur toute variable de type vecteur, c'est-à-dire qu'on peut
- toujours être sûr que personne n'a modifié le vecteur sur lequel on travaille.
- De plus, l'invariance d'un vecteur paraît naturelle, comme celle d'un nombre
- réel.
-\end_layout
-
-\begin_layout Standard
-Quelques vecteurs remarquables sont définis comme variables statiques constantes.
- Parmi ceux-ci notamment le vecteur nulle (Null) et les vecteurs unitaires
- i, j, k selon respectivement les axes x, y et z.
-\end_layout
-
-\begin_layout Standard
-Pour contourner la perte de performance due à l'immutabilité des vecteurs,
- nous avons rajouté un classe `MutableVector3D'.
- Cette classe représente des vecteurs mutables lesquelles peuvent changer
- leurs coordonnées.
- Ces vecteurs sont presque exclusivement utilisés pour représenter des champs
- qui varient souvent tel que la position d'une particule.
-\end_layout
-
-\begin_layout Section*
-Question P3.1
-\end_layout
-
-\begin_layout Standard
-Nous n'avons pas rajouté un constructeur de copie.
- Comme la classe `Vector3D' est invariable et ne contient pas de pointeurs
- ou références sur d'autres objets mutables, elle n'a pas d'état et donc
- l'utilisation du constructeur de copie par défaut suffit.
-\end_layout
-
-\begin_layout Standard
-En revanche la classe `MutableVector3D' contient un constructeur de copie
- qui copie les champs d'un vecteur donné.
-\end_layout
-
-\begin_layout Section*
-Question P3.2
-\end_layout
-
-\begin_layout Standard
-Lorsque l'on décide d'implémenter le constructeur par défaut (qui crée un
- vecteur nul) et le constructeur par coordonnés cartésiennes dans une seule
- et même méthode, il se peut que lorsque l'on crée une nouvelle instance
- de Vector3D sans l'initialiser (en laissant donc le soin au constructeur
- par défaut de le faire), on se retrouve avec un vecteur nul à un endroit
- où il vaudrait mieux ne pas en avoir.
- Par conséquent, en séparant ces deux méthodes, le programmeur est amené
- à penser dès l'instanciation à quelle fin il crée son objet.
-\end_layout
-
-\begin_layout Section*
-Question P3.3
-\end_layout
-
-\begin_layout Subsection*
-a
-\end_layout
-
-\begin_layout Standard
-En ajoutant un constructeur par coordonnées sphériques, les attributs de
- la classe ne devraient pas forcémant être changées.
- Il serait toute à fait envisageable, de garder les coordonnées carthésiennes
- comme attributs et de convertir les coordonnées sphériques avec le constructeur.
- L'accès et la modification des coordonnées shpériques pourrait égelement
- se faire par un méthode convertissant les deux types de coordonnées.
-\end_layout
-
-\begin_layout Subsection*
-b
-\end_layout
-
-\begin_layout Standard
-La surcharge serait une difficulté majeur pour créer un constructeur par
- coordonnées sphériques.
- Etant donné qu'un tel constructeur prendrait comme paramètres deux angles
- et une longueur, représentés par trois doubles, il serait en conflit avec
- le constructeur de coordonnées carthésiennes.
- Il serait alors impossible d'avoir les deux constructeurs dans une classe.
-\end_layout
-
-\begin_layout Standard
-Néanmoins, une solution alternative serait d'implémenter une méthode statique
- (
-\begin_inset Quotes eld
-\end_inset
-
-factory method
-\begin_inset Quotes erd
-\end_inset
-
-) qui prendrait comme paramètres des coordonnées sphériques et qui renverait
- un vecteur ayant des coordonnées carthésiennes équivalentes (par exemple
-
-\family typewriter
-Vector3D Vector3D::fromSpherical(double phi, double theta, double r)
-\family default
-).
-\end_layout
-
-\begin_layout Section*
-Question P3.4
-\end_layout
-
-\begin_layout Standard
-La méthode `affiche()' d'un vecteur a été implémenté sous forme de l'opérateur
- `<<' de `std::ostream'.
- La méthode `compare' est équivalent à l'opérateur `=='.
-\end_layout
-
-\begin_layout Section*
-Question P5.1
-\end_layout
-
-\begin_layout Standard
-Les membres d'une particule représentant le facteur gamma
-\begin_inset Formula $\gamma$
-\end_inset
-
- et l'énergie
-\begin_inset Formula $E$
-\end_inset
-
- peuvent être implémentés soit sous forme d'attributs soit sous forme de
- méthodes.
- Il y a des avantages et inconvénients pour chaque forme.
-\end_layout
-
-\begin_layout Standard
-L'avantage d'un attribut est que son accès est très rapide et ne prend (presque)
- pas de temps de calcul.
- Par contre, si la valeur d'un attribut est relié logiquement à la valeur
- d'un autre attribut et que ce dernier est modifié, il faudra manuellement
- changer le premier.
- Par exemple, le facteur gamma étant défini par:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Formula \[
-\gamma=\frac{1}{\sqrt{1-\left(\frac{v}{c}\right)^{2}}}\]
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-si il est défini comme variable, il faudrait le mettre à jour à chaque fois
- que la vitesse change.
-\end_layout
-
-\begin_layout Standard
-Contrairement à un attribut, une méthode est évaluée à chaque fois qu'on
- l'appelle.
- Ceci a l'avantage que si le résultat d'une méthode dépend d'une variable,
- la variable pourra être modifiée sans autre considération.
- Ainsi, si le facteur gamma est une méthode, une mise à jour de la vitesse
- pourra être effectuée directement sans explicitement changer
-\begin_inset Formula $\gamma$
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-Dans le cas de notre projet, nous avons décidés d'implémenter l'énergie
- sous forme de méthode et le facteur gamma sous forme d'attribut.
- Ceci pour plusieurs raisons:
-\end_layout
-
-\begin_layout Enumerate
-Au cours de la simulation, le facteur gamma est accédé autant de fois que
- la vitesse, il est donc plus rapide de n'evoluer une racine qu'une seule
- fois pour un pas de temps.
-\end_layout
-
-\begin_layout Enumerate
-L'énergie est accédée beaucoup plus rarement que la vitesse mais dépend
- quand même de cette dernière, ainsi nous avons décidé de l'implémenter
- sous forme de méthode.
-\end_layout
-
-\begin_layout Section*
-Question P6.1
-\end_layout
-
-\begin_layout Standard
-Pour représenter et organiser les éléments, nous avons créé une classe abtsraite
- `Element'.
- Celle-ci contient tous les attributs généraux d'un élément.
- De plus, elle contient des méthodes virtuelles pures tels que la détermination
- si une particule a heurté le bord ou est passé au suivant.
-\end_layout
-
-\begin_layout Standard
-Dans la hierarchie en dessous de `Element' se trouvent deux classes representant
-s les élements droits et courbes.
- Ceux-ci implémentent tout méthode relatif à la géométrie d'un élément (p.ex.
- les méthodes mentionés ci-dessus).
-\end_layout
-
-\begin_layout Standard
-Finalement, en dessous de ces classes se trouvent les implémentations concrètes
- telles que les quadripoles, dipoles, etc...
-\end_layout
-
-\begin_layout Standard
-Nous n'avons pas faits de classes séparés pour des élements générants un
- champ électrique ou magnétique car nous considérons qu'un élément ne générant
- pas de champ
-\emph on
-possède
-\emph default
- un champ nul.
- (voir question P6.2)
-\end_layout
-
-\begin_layout Section*
-Question P6.2
-\end_layout
-
-\begin_layout Standard
-Les champs magnétiques et électriques sont représentés par les méthodes
- `magneticFieldAt' et `electricFieldAt'.
- Ces méthodes prennent comme paramètre une position et renvoyent un vecteur
- représentant le champ à cette position.
-\end_layout
-
-\begin_layout Standard
-Ceci représente concrètement les lignes de champs à un endroit donné.
-\end_layout
-
-\begin_layout Standard
-En effet, en physique on représente les lignes de champ par des lignes continues.
- Or dans ce projet, cela ne nous intéresse pas de représenter ces lignes.
- Puisque les seules interactions de ces champs avec les particules invoquent
- des vecteurs représentant l'intensité et la direction du champ à l'endroit
- où se trouve la particule par rapport à l'
-\family typewriter
-\size small
-Element
-\family default
-\size default
-, on n'a besoin que d'un
-\family typewriter
-\size small
-Vector3D
-\family default
-\size default
-.
-\end_layout
-
-\begin_layout Section*
-Question P6.3
-\end_layout
-
-\begin_layout Standard
-Nous représentons le centre de courbure
-\family typewriter
-\size small
-curvatureCenter
-\family default
-\size default
- à l'aide d'un attribut du type
-\family typewriter
-\size small
-Vector3D
-\family default
-\size default
- que l'on instancie indirectement en fournissant la courbure
-\family typewriter
-\size small
-k
-\family default
-\size default
- au constructeur des éléments courbes.
-\end_layout
-
-\begin_layout Standard
-En effet, le centre de courbure d'une courbe est défini d'une manière unique
- si nous avons :
-\end_layout
-
-\begin_layout Itemize
-une position d'entrée
-\family typewriter
-\size small
-entry
-\family default
-\size default
-;
-\end_layout
-
-\begin_layout Itemize
-une position de sortie
-\family typewriter
-\size small
-exit
-\family default
-\size default
-;
-\end_layout
-
-\begin_layout Itemize
-une courbure
-\family typewriter
-\size small
- k
-\family default
-\size default
- (donc un rayon de courbure
-\family typewriter
-\size small
-curvatureRadius
-\family default
-\size default
- ) avec son signe !;
-\end_layout
-
-\begin_layout Itemize
-une convention à l'aide de laquelle nous savons, en fonction du signe du
- rayon, de quel côté de l'Element la courbe se courbe.
-\begin_inset Foot
-status open
-
-\begin_layout Plain Layout
-Les éléments courbes auront de plus une courbure k, constante (l’inverse
- du rayon de courbure), dont le signe indique le sens de courbure par rapport
- à l’orientation donnée par l’opposé de l’axe vertical (noté -
-\begin_inset Formula $\overrightarrow{\textrm{e}{}^{3}}$
-\end_inset
-
-) .
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section*
-Question P6.4
-\end_layout
-
-\begin_layout Standard
-Afin qu'une particule soit dans un et un seul
-\family typewriter
-\size small
-Element
-\family default
-\size default
- à la fois, nous avons décidé de rajouter un attribut privé (un pointeur)
- à chaque particule, qui soit responsable de lui indiquer dans quel
-\family typewriter
-\size small
-Element
-\family default
-\size default
- elle se trouve.
- Elle ne peut se retrouver dans deux
-\family typewriter
-\size small
-Element
-\family default
-\size default
-s.
- C'est un moyen simple de coller une étiquette 'Où je suis ?' sur une particule,
- et on pourra facilement vérifier qu'à chaque évolution du système, notre
- particule ne soit que dans un et un seul
-\family typewriter
-\size small
-Element
-\family default
-\size default
- à la fois.
- Cela modifie la classe
-\family typewriter
-\size small
-Particule
-\family default
-\size default
-.
-\end_layout
-
-\begin_layout Section*
-Question P7.1
-\end_layout
-
-\begin_layout Standard
-La classe
-\family typewriter
-\size small
-Accelerator
-\family sans
-
-\family default
-\size default
-un accélerateur.
- Elle contient une collection de particules et d'élements (en attributs).
- De plus, nous avons décidé qu'un accélérateur sera entièrement responsable
- de la gestion de ses particules et elements.
- Cela implique que lors de l'ajout d'un de ces derniers, il sera copié.
-\end_layout
-
-\begin_layout Standard
-Cette copie entraîne d'eutres conséquences tel que le rajout d'un méthode
- `clone' dans les éléments et particules.
-\end_layout
-
-\begin_layout Section*
-Question P7.2
-\end_layout
-
-\begin_layout Standard
-Le constructeur de copie privé : il doit servir à empêcher tout appel au
- constructeur de copie par défaut, puisqu'il ne fait rien, on ne pourra
- simplement pas faire de copie d'
-\family typewriter
-\size small
-Accelerator
-\family default
-\size default
-, donc pas de passage par valeur.
-\end_layout
-
-\begin_layout Standard
-L'opérateur '=' : de même que pour le constructeur de copie, sa déclaration
- en privé empêche la copie d'un accélérateur vers un autre.
-\end_layout
-
-\begin_layout Standard
-Ces restrictions sont présents pour éviter des problèmes de responsabilités
- d'allocation et de délocation de mémoire (car un accélérateur contient
- beaucoup de pointeurs d'éléments et de particules qui eux-mêmes pointent
- vers des particules).
- Mais aussi d'un point de vue logique: comment serait-ce physiquement possible
- de copier un accélérateur dans un état donné avec tous ses particules?
-\end_layout
-
-\begin_layout Section*
-Question P8.1
-\end_layout
-
-\begin_layout Standard
-En termes de POO, cela signifie que la méthode
-\family typewriter
-\size small
-heurte_bord
-\family default
-\size default
- (`isBeside' dans notre cas) est virtuelle (même virtuelle pure à l'intérieur
- de la classe
-\family typewriter
-\size small
-Element
-\family default
-\size default
-).
-\end_layout
-
-\begin_layout Section*
-Question P8.2
-\end_layout
-
-\begin_layout Standard
-Cela implique donc que la classe
-\family typewriter
-\size small
-Element
-\family default
-\size default
- est
-\emph on
-abstraite
-\emph default
-.
-\end_layout
-
-\begin_layout Section*
-Question P8.3
-\end_layout
-
-\begin_layout Standard
-La méthode `dessine' est elle aussi virtuelle pure dans la classe dessinable.
-\end_layout
-
-\begin_layout Section*
-Question P9.1
-\end_layout
-
-\begin_layout Standard
-FODO
-\end_layout
-
-\begin_layout Section*
-Question P10.1
-\end_layout
-
-\begin_layout Standard
-Concernant les classes contenant des pointeurs, il s'agit de fixer une manière
- de gérer les pointeurs, les montrer ou non.
- Si on choisi de les montrer, alors il faut gérer les
-\family typewriter
-\size small
-delete
-\family default
-\size default
- en externe, et cela induit un plus grand risque d'erreurs, plus que si
- on choisi la deuxième option.
- Dans ce cas, on peut envisager d'écrire les
-\family typewriter
-\size small
-new
-\family default
-\size default
- et les
-\family typewriter
-\size small
-delete
-\family default
-\size default
- en interne, ce qui implique qu'on est tout seul à manipuler des pointeurs,
- ce qui est plus élégant.
-\end_layout
-
-\begin_layout Section*
-Question P10.2
-\end_layout
-
-\begin_layout Standard
-Dans le cadre de la programmation oritentée-objets, on créerait une classe
- abstraite (p.ex.
-
-\begin_inset Quotes eld
-\end_inset
-
-Dessinable
-\begin_inset Quotes erd
-\end_inset
-
-) contenant la methode dessine() virtuelle pure.
- Tout objet dessinable hériterait ensuite de cette classe et implémenterait
- la méthode.
-\end_layout
-
-\begin_layout Section*
-Question P10.3
-\end_layout
-
-\begin_layout Standard
-La reponse à la dernière question n'implique pas de changement de notre
- code car, depuis le début du projet, nous avons défini la classe
-\begin_inset Quotes eld
-\end_inset
-
-Printable
-\begin_inset Quotes erd
-\end_inset
-
- (
-\begin_inset Quotes eld
-\end_inset
-
-Dessinable
-\begin_inset Quotes erd
-\end_inset
-
- ci-dessus) et tout nos objets dessinables (notamment l'accelerateur, les
- particules et les elements) heritent de cette dernière et implémentent
- la méthode virtuelle pure
-\begin_inset Quotes eld
-\end_inset
-
-print()
-\begin_inset Quotes erd
-\end_inset
-
- qui affiche l'objet.
-\end_layout
-
-\begin_layout Section*
-Question P10.4
-\end_layout
-
-\begin_layout Standard
-Voir réponse à question P10.3.
-\end_layout
-
-\begin_layout Section*
-Question P12.1
-\end_layout
-
-\begin_layout Standard
-Comme tous ces propriétés changent pendant l'evolution de la simulation,
- nous les avons implémentés en tant que méthodes.
-\end_layout
-
-\begin_layout Section*
-Question P14.1
-\end_layout
-
-\begin_layout Standard
-Nous avons créé une classe Color qui implémente les couleurs données en
- exemple.
- Elle est en outre dotée de quelques méthodes pratiques (voir dans doxygen).
-\end_layout
-
-\begin_layout Section*
-Question P15.1
-\end_layout
-
-\begin_layout Standard
-Il faut comparer chaque particule a chaque autre.
- Avec n particules il faut donc faire n tests.
- La complexite est donc de
-\begin_inset Formula $O(n^{2})$
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section*
-Question P16.1
-\end_layout
-
-\begin_layout Standard
-Au pire des cas, si tous les particules se retrouvent dans une case, la
- complexites est de
-\begin_inset Formula $O(n^{2})$
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section*
-Question P16.2
-\end_layout
-
-\begin_layout Standard
-Nous n'avons pas implémentés cette méthode mais une autre, voir la doc (SAPInter
-actor.h).
-\end_layout
-
-\begin_layout Section*
-Question P17.1
-\end_layout
-
-\begin_layout Standard
-Comme avant, au pire des cas la complexite est de
-\begin_inset Formula $O(n^{2})$
-\end_inset
-
-.
- En moyenne elle serait de
-\begin_inset Formula $O(n\: log\: n)$
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section*
-Question P19.1
-\end_layout
-
-\begin_layout Standard
-Voici l'ensemble de balises (ouvrantes) que nous utilisons (dans l'ordre
- d'apparition dans le fichier
-\begin_inset Quotes eld
-\end_inset
-
-accelerator.xml
-\begin_inset Quotes erd
-\end_inset
-
-) :
-\end_layout
-
-\begin_layout Itemize
-<System>
-\end_layout
-
-\begin_layout Itemize
-<Accelerator>
-\end_layout
-
-\begin_layout Itemize
-<Particle>
-\end_layout
-
-\begin_layout Itemize
-<Position>
-\end_layout
-
-\begin_layout Itemize
-<Mass>
-\end_layout
-
-\begin_layout Itemize
-<Charge>
-\end_layout
-
-\begin_layout Itemize
-<Direction>
-\end_layout
-
-\begin_layout Itemize
-<Energy>
-\end_layout
-
-\begin_layout Itemize
-<FODO>
-\end_layout
-
-\begin_layout Itemize
-<EntryPosition>
-\end_layout
-
-\begin_layout Itemize
-<ExitPosition>
-\end_layout
-
-\begin_layout Itemize
-<SectionRadius>
-\end_layout
-
-\begin_layout Itemize
-<StraightLenght>
-\end_layout
-
-\begin_layout Itemize
-<FocalizingCoefficient>
-\end_layout
-
-\begin_layout Itemize
-<Dipole>
-\end_layout
-
-\begin_layout Itemize
-<Curvature>
-\end_layout
-
-\begin_layout Itemize
-<MagneticField>
-\end_layout
-
-\begin_layout Itemize
-<Quadrupole>
-\end_layout
-
-\begin_layout Itemize
-<StraightElement>
-\end_layout
-
-\begin_layout Standard
-Voici les balises pour les commentaires :
-\end_layout
-
-\begin_layout Itemize
-<! - -
-\end_layout
-
-\begin_layout Itemize
-- - >
-\end_layout
-
-\begin_layout Standard
-Il n'y a donc pas de balises pour les constantes, car elles font partie
- d'un namespace commun au projet.
- Par ailleurs, l'aspect graphique de projet est séparé du reste du projet,
- ce qui explique qu'il n'y ait pas de balise de type <Camera> ou <Oeil>.
-\end_layout
-
-\begin_layout Section*
-Question P19.2
-\end_layout
-
-\begin_layout Standard
-Comme il s'agit d'une méthode de fabrication qui n'a pour bute de créer
- un accélérateur, la méthode prendrait en string le nom d'un fichier contenant
- la description xml du systeme et renverrait un pointeur sur un accélérateur
- aloué dynamiquement.
-\end_layout
-
-\end_body
-\end_document
diff --git a/src/gui/Main.cc b/src/gui/Main.cc
deleted file mode 100644
index b480830..0000000
--- a/src/gui/Main.cc
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Main.cc
- *
- * Created on: Mar 24, 2011
- * Author: jakob
- */
-
-#include <iostream>
-#include <QApplication>
-#include <QWidget>
-#include <cmath>
-#include "exceptions.h"
-#include "Stage.h"
-#include "Accelerator.h"
-#include "StraightElement.h"
-#include "Dipole.h"
-#include "Particle.h"
-//#include "FODO.h"
-#include "Quadrupole.h"
-#include "Element.h"
-#include "Vector3D.h"
-#include "constants.h"
-#include <vector>
-#include "CircularBeam.h"
-#include "Bunch.h"
-#include "events.h"
-#include "SAPInteractor.h"
-
-using namespace std;
-using namespace vhc;
-
-std::vector< Particle > createParticles(const Vector3D& position, int n, double mass = constants::PROTON_MASS, double charge = constants::E, double energy = 2E9 * constants::E, Vector3D direction = -Vector3D::j) {
- std::vector< Particle > v;
-
- double r = 0.1;
-
- for (int i = 0; i < n; ++i) {
- double x = (rand() % 1000) / 1000.0 * r;
- double y = (rand() % 1000) / 1000.0 * sqrt(r * r - x * x);
- double z = (rand() % 1000) / 1000.0 * sqrt(r * r - y * y - x * x);
- v.push_back(Particle(position + Vector3D(x, y, z), mass, charge, energy, direction));
- }
-
- return v;
-}
-
-Element** FODO(Vector3D entry, Vector3D exit, double Rs, double L, double b) {
- double l = (entry - exit).norm() / 2.0 - 1;
- Vector3D d = (exit - entry).unit();
- Quadrupole* fq = new Quadrupole(entry, entry + d * l, Rs, b);
- StraightElement* s1 = new StraightElement(fq->getExitPosition(), fq->getExitPosition() + d * L, Rs);
- Quadrupole* dq = new Quadrupole(s1->getExitPosition(), s1->getExitPosition() + d * l, Rs, -b);
- StraightElement* s2 = new StraightElement(dq->getExitPosition(), exit, Rs);
- Element** fodo = new Element*[4];
- (fodo)[0] = fq;
- (fodo)[1] = s1;
- (fodo)[2] = dq;
- (fodo)[3] = s2;
-
- return fodo;
-}
-
-class Foo: public Listener<ParticleAddedEvent>, public Listener<ParticleRemovedEvent> {
-public:
- virtual void react(const ParticleAddedEvent& event) {
- cout << "+ Particle added!\n";
- }
-
- virtual void react(const ParticleRemovedEvent& event) {
- cout << "- Particle removed!\n";
- }
-
-};
-
-Accelerator* standard() {
-/*
- * L'accélérateur est constitué des 20 éléments suivants :
-Quadrupole : in = (3, 2, 0) ; out = (3, 1, 0) ; Re = 0.1 ; b = 1.2
-Section droite : in = (3, 1, 0) ; out = (3, 0, 0) ; Re = 0.1
-Quadrupole : in = (3, 0, 0) ; out = (3, -1, 0) ; Re = 0.1 ; b = -1.2
-Section droite : in = (3, -1, 0) ; out = (3, -2, 0) ; Re = 0.1
-Dipole : in = (3, -2, 0) ; out = (2, -3, 0) ; Re = 0.1 ; Rc = 1 ; Cc = (2, -2, 0) ; B=(0, 0, 5.89158)
-Quadrupole : in = (2, -3, 0) ; out = (1, -3, 0) ; Re = 0.1 ; b = 1.2
-Section droite : in = (1, -3, 0) ; out = (0, -3, 0) ; Re = 0.1
-Quadrupole : in = (0, -3, 0) ; out = (-1, -3, 0) ; Re = 0.1 ; b = -1.2
-Section droite : in = (-1, -3, 0) ; out = (-2, -3, 0) ; Re = 0.1
-Dipole : in = (-2, -3, 0) ; out = (-3, -2, 0) ; Re = 0.1 ; Rc = 1 ; Cc = (-2, -2, 0) ; B=(0, 0, 5.89158)
-Quadrupole : in = (-3, -2, 0) ; out = (-3, -1, 0) ; Re = 0.1 ; b = 1.2
-Section droite : in = (-3, -1, 0) ; out = (-3, 0, 0) ; Re = 0.1
-Quadrupole : in = (-3, 0, 0) ; out = (-3, 1, 0) ; Re = 0.1 ; b = -1.2
-Section droite : in = (-3, 1, 0) ; out = (-3, 2, 0) ; Re = 0.1
-Dipole : in = (-3, 2, 0) ; out = (-2, 3, 0) ; Re = 0.1 ; Rc = 1 ; Cc = (-2, 2, 0) ; B=(0, 0, 5.89158)
-Quadrupole : in = (-2, 3, 0) ; out = (-1, 3, 0) ; Re = 0.1 ; b = 1.2
-Section droite : in = (-1, 3, 0) ; out = (0, 3, 0) ; Re = 0.1
-Quadrupole : in = (0, 3, 0) ; out = (1, 3, 0) ; Re = 0.1 ; b = -1.2
-Section droite : in = (1, 3, 0) ; out = (2, 3, 0) ; Re = 0.1
-Dipole : in = (2, 3, 0) ; out = (3, 2, 0) ; Re = 0.1 ; Rc = 1 ; Cc = (2, 2, 0) ; B=(0, 0, 5.89158)
- *
- *
- *L'accélérateur contient les 2 particules suivantes :
-Une particule :
- position : (3.01, 0, 0)
- vitesse : (0, -2.64754e+08, 0)
- gamma : 2.13158
- energie (GeV) : 2
- masse (GeV/c^2) : 0.938272
- charge : 1.60217653e-19
- force : ( 0 ; 0 ; 0 )
-
-Une particule :
- position : (2.99, 0, 0)
- vitesse : (0, -2.64754e+08, 0)
- gamma : 2.13158
- energie (GeV) : 2
- masse (GeV/c^2) : 0.938272
- charge : 1.60217653e-19
- force : ( 0 ; 0 ; 0 )
- *
- */
-
- double B = 5.8915820038873;
- double b = 1.2;
- Element** e1 = FODO(Vector3D(3, 2, 0), Vector3D(3, -2, 0), 0.1, 1.0, b);
-
- //FODO e1 = FODO(Vector3D(3, 2, 0), Vector3D(3, -2, 0), 0.1, 1.0, b);
- Dipole e2 = Dipole(Vector3D(3, -2, 0), Vector3D(2, -3, 0), 0.1, 1, Vector3D(0, 0, B));
-
- Element** e3 = FODO(e2.getExitPosition(), Vector3D(-2, -3, 0), 0.1, 1, b);
- Dipole e4 = Dipole(Vector3D(-2, -3, 0), Vector3D(-3, -2, 0), 0.1, 1, Vector3D(0, 0, B));
- Element** e5 = FODO(e4.getExitPosition(), Vector3D(-3, 2, 0), 0.1, 1.0, b);
- Dipole e6 = Dipole(Vector3D(-3, 2, 0), Vector3D(-2, 3, 0), 0.1, 1, Vector3D(0, 0, B));
- Element** e7 = FODO(e6.getExitPosition(), Vector3D(2, 3, 0), 0.1, 1.0, b);
- Dipole e8 = Dipole(Vector3D(2, 3, 0), Vector3D(3, 2, 0), 0.1, 1, Vector3D(0, 0, B));
- Accelerator* acc = new Accelerator(new SAPInteractor);
- //acc->add(e1);
- for (int i = 0; i < 4; ++i) acc->add(e1[i][0]);
- acc->add(e2);
- for (int i = 0; i < 4; ++i) acc->add(e3[i][0]);
- //acc->add(e3);
- acc->add(e4);
- for (int i = 0; i < 4; ++i) acc->add(e5[i][0]);
- //acc->add(e5);
- acc->add(e6);
- for (int i = 0; i < 4; ++i) acc->add(e7[i][0]);
- //acc->add(e7);
- acc->add(e8);
-
-
- //proton
- Particle p1 = Particle(Vector3D(3.01, 0, 0), constants::PROTON_MASS, constants::E, 2 * constants::GeV, -Vector3D::j);
- Particle p2 = Particle(Vector3D(2.99, 0, 0), constants::PROTON_MASS, constants::E, 2 * constants::GeV, -Vector3D::j);
- acc->add(p1);
- acc->add(p2);
-
- //anti-proton
- Particle ap1 = Particle(Vector3D(3.01, 0, 0), constants::PROTON_MASS, -constants::E, 2 * constants::GeV, Vector3D::j);
- Particle ap2 = Particle(Vector3D(2.99, 0, 0), constants::PROTON_MASS, -constants::E, 2 * constants::GeV, Vector3D::j);
- acc->add(ap1);
- acc->add(ap2);
-
- acc->add(CircularBeam(p1, 20, 1));
-
- double emittance = 5E-6; //m
- double A_12 = 0.02; //1/m
- double A_22 = 4;//E-19; // s² m-1 (dépend totalement de l'accélérateur)
- double length = 300E-12 * constants::C;
- double stdDev = 0.1;
- acc->add(Bunch(p1, 5, 1, stdDev, length, emittance, A_12, A_22));
-
- Foo* foo = new Foo;
- Bunch& bch = (Bunch&) acc->add(Bunch(ap1, 5, 1, stdDev, length, emittance, A_12, A_22));
- //bch.Publisher<ParticleAddedEvent>::subscribe(foo);
- //bch.Publisher<ParticleRemovedEvent>::subscribe(foo);
-
-
- acc->close();
-
- /*std::vector< Particle > ps = createParticles(e1.getEntryPosition(), 1000);
-
- for (int i = 0; i < ps.size(); ++i) {
- acc->add(ps[i]);
- }*/
-
-
- return acc;
-}
-
-int main(int argc, char *argv[])
-{
- try {
-
- QApplication app(argc, argv);
-
- vhc::Stage window;
- Accelerator* acc = standard();
- window.setAccelerator(acc);
-
- window.setWindowTitle("Virtual Hadron Collider");
- window.resize(QSize(500, 500));
- window.show();
-
-
- // window.showFullScreen();
-
- //app.setActiveWindow(&window);
- return app.exec();
-
- } catch (Exception& ex){
- std::cerr << ex.toString() << "\n";
- }
-}
-
-
diff --git a/structure.lyx b/structure.lyx
deleted file mode 100644
index 8f136ed..0000000
--- a/structure.lyx
+++ /dev/null
@@ -1,331 +0,0 @@
-#LyX 1.6.7 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
-\begin_document
-\begin_header
-\textclass article
-\use_default_options true
-\language english
-\inputencoding auto
-\font_roman default
-\font_sans default
-\font_typewriter courier
-\font_default_family default
-\font_sc false
-\font_osf false
-\font_sf_scale 100
-\font_tt_scale 100
-
-\graphics default
-\paperfontsize default
-\spacing single
-\use_hyperref false
-\papersize default
-\use_geometry false
-\use_amsmath 1
-\use_esint 1
-\cite_engine basic
-\use_bibtopic false
-\paperorientation portrait
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation indent
-\defskip medskip
-\quotes_language english
-\papercolumns 1
-\papersides 1
-\paperpagestyle default
-\tracking_changes false
-\output_changes false
-\author ""
-\author ""
-\end_header
-
-\begin_body
-
-\begin_layout Title
-Structure du projet et makefiles
-\end_layout
-
-\begin_layout Part*
-Structure
-\end_layout
-
-\begin_layout Standard
-Le dosier du projet, nommé `vhc' (pour `Virtual Hadron Collider'), est structuré
- de la manière suivante:
-\end_layout
-
-\begin_layout Standard
-\begin_inset listings
-lstparams "basicstyle={\ttfamily}"
-inline false
-status open
-
-\begin_layout Plain Layout
-
-vhc
-\end_layout
-
-\begin_layout Plain Layout
-
-|-- bin
-\end_layout
-
-\begin_layout Plain Layout
-
-| |-- main
-\end_layout
-
-\begin_layout Plain Layout
-
-| `-- test
-\end_layout
-
-\begin_layout Plain Layout
-
-|-- doc
-\end_layout
-
-\begin_layout Plain Layout
-
-|-- Doxyfile
-\end_layout
-
-\begin_layout Plain Layout
-
-|-- JOURNAL.txt
-\end_layout
-
-\begin_layout Plain Layout
-
-|-- Makefile
-\end_layout
-
-\begin_layout Plain Layout
-
-|-- reponses.lyx
-\end_layout
-
-\begin_layout Plain Layout
-
-|-- REPONSES.pdf
-\end_layout
-
-\begin_layout Plain Layout
-
-`-- src
-\end_layout
-
-\begin_layout Plain Layout
-
- |-- main
-\end_layout
-
-\begin_layout Plain Layout
-
- `-- test
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section*
-vhc
-\end_layout
-
-\begin_layout Standard
-Le répertoire principale (dit `de base') du projet est est `vhc'.
- Dans celui-ci se trouvent les fichiers expliqués dans la description officielle
- du projet.
- Notamment:
-\end_layout
-
-\begin_layout Itemize
-JOURNAL
-\end_layout
-
-\begin_layout Itemize
-REPONSES
-\end_layout
-
-\begin_layout Itemize
-README
-\end_layout
-
-\begin_layout Itemize
-Makefile
-\end_layout
-
-\begin_layout Standard
-Il contient de plus le fichier `Doxyfile' utilisé pour générer de la documentati
-on du code source.
-\end_layout
-
-\begin_layout Section*
-src
-\end_layout
-
-\begin_layout Standard
-Ce répertoire contient tout le code source, donc les fichiers les plus important
-s du projet! Le code source est lui-meme reparti dans les sous-répertoires
- suivantes:
-\end_layout
-
-\begin_layout Itemize
-main
-\begin_inset Newline newline
-\end_inset
-
-Contient le code source principale, c'est à dire tout les fichiers sources
- du simulateur.
-\begin_inset Newline newline
-\end_inset
-
-Exemples: Vector3D.cc, Vector3D.h, Particle.cc, etc...
-\end_layout
-
-\begin_layout Itemize
-test
-\begin_inset Newline newline
-\end_inset
-
-Contient le code source des tests.
- Les fichiers tests contenant une fonction `main' devraient se terminer
- avec `Test'.
-\begin_inset Newline newline
-\end_inset
-
-Exemples: Vector3DTest.cc, etc...
-\end_layout
-
-\begin_layout Section*
-doc
-\end_layout
-
-\begin_layout Standard
-Contient de la documentation générée automatiquement par un outil comme
- `doxygen'.
-\end_layout
-
-\begin_layout Standard
-Remarque: n'est pas sous contrôle de version.
-\end_layout
-
-\begin_layout Section*
-bin
-\end_layout
-
-\begin_layout Standard
-Contient les fichiers binaires (i.e.
- executables, objets, librairies etc...) compilés du code source.
- La structure de ce répertoire est identique a celle de `src', c'est-à-dire
- que les tests seront compilés dans `bin/test/' et les sources principaux
- dans `bin/main/'.
-\end_layout
-
-\begin_layout Standard
-Remarque: n'est pas sous contrôle de version.
-\end_layout
-
-\begin_layout Part*
-Makefiles
-\end_layout
-
-\begin_layout Standard
-Afin d'automatiser le processus de compilation, un Makefile est présent
- dans le répertoire de base.
- A cause de la compléxité du répertoire source, le Makefile est récursif.
- Cela signifie que ce Makefile ne fait que de déléguer les commandes à deux
- makefiles contenus dans les répertoires src/main et src/test.
- Ainsi, lorsqu'on ajoute/supprime des fichiers des répertoires précédents,
- il suffit de modifier le Makefile contenu dans le répertoire respectif.
- En général, il ne faut pas modifer le Makefile de base.
-\end_layout
-
-\begin_layout Standard
-Pour plus d'informations voir les commantaires des Makefiles.
-\end_layout
-
-\begin_layout Section*
-Commandes
-\end_layout
-
-\begin_layout Standard
-Voici quelques commandes pour le Makefile principal.
-\end_layout
-
-\begin_layout Itemize
-build
-\begin_inset Newline newline
-\end_inset
-
-compile les sources principaux
-\end_layout
-
-\begin_layout Itemize
-test-build
-\begin_inset Newline newline
-\end_inset
-
-compile les tests
-\end_layout
-
-\begin_layout Itemize
-all
-\begin_inset Newline newline
-\end_inset
-
-lance un build, test-build
-\end_layout
-
-\begin_layout Itemize
-doc
-\begin_inset Newline newline
-\end_inset
-
-génère la documentation
-\end_layout
-
-\begin_layout Itemize
-clean
-\begin_inset Newline newline
-\end_inset
-
-supprime le répertoire bin pour une compilation
-\begin_inset Quotes eld
-\end_inset
-
-propre
-\begin_inset Quotes erd
-\end_inset
-
-
-\end_layout
-
-\begin_layout Itemize
-test
-\begin_inset Newline newline
-\end_inset
-
-lance tous les tests
-\end_layout
-
-\begin_layout Section*
-Compilation
-\end_layout
-
-\begin_layout Itemize
-Les fichiers source principaux sont compilés et regroupés dans une librairie
- statique.
- Cette libraire s'appelle `libvhc.a'.
-\end_layout
-
-\begin_layout Itemize
-Les tests sont compilés en éxécutables et reliés (linked) avec la librairie
- statique `libvhc.a'
-\end_layout
-
-\end_body
-\end_document
diff --git a/structure.pdf b/structure.pdf
deleted file mode 100644
index bb44c39..0000000
--- a/structure.pdf
+++ /dev/null
Binary files differ