Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Composants | Déclarations

pi2d14_molecule_atome.h

Aller à la documentation de ce fichier.
00001 
00002 #ifndef SIMULATOM_MOLECULE_ATOME
00003 #define SIMULATOM_MOLECULE_ATOME
00004 
00005 #include "pi2d14/pi2d14_abstractmoleculed.h"
00006 
00007 #include "Atom.h"
00008 
00009 namespace ALGOATOMD
00010 {
00011 
00012         #define MOLECULE_ATOME_NB_ALGO          3       //le nombre d'algorithme pour cette molecule
00013 
00014 
00020         class MoleculeAtome : public AbstractMoleculeD
00021         {
00022         private :
00023 
00024                 API::Atom *atoms;                                       //le pointeur sur l'atome
00025                 
00026                 unsigned int size;                                      //la taille ne sert a rien pour l'atom ( TODO : a supprimer)
00027                 int indexInit,index1,index2,index3;     //les index des mouvements synchronise
00028                 bool m1,m2,m3;                                          //true si le mouvement de meme nom est en cours
00029                                                                         //toutes les valeur sont false si on est dans le mouvement d'initialisation
00030                 int marqueur;                                           //sert pour l'algorithme 3
00031 
00032                 
00033                 //declaration de var pour algo n�2 avec IA
00034                 API::CartesianPosition axe0;            //l'axe de la patte 0
00035                 API::CartesianPosition axe2;            //l'axe de la patte 2
00036                 API::CartesianPosition axe5;            //l'axe de la patte 5
00037                 int currentZone;                                        // numero de la zone dans laquelle est la destination
00038 
00042                 void initDep1();
00046                 void algoDep1();
00050                 void initDep2();
00054                 void algoDep2();
00058                 void debugAlgo2();
00062                 void initDep3();
00066                 void algoDep3();
00067 
00068         protected :
00072                 void calcZone();
00073                 
00078                 bool needMoreMouvement();
00079 
00080         public :
00081 
00087                 MoleculeAtome(int buildParam, int typeDep);
00091                 virtual ~MoleculeAtome();
00092 
00097                 void processMovement();
00101                 void renderMoleculeInfo();
00102                 
00103                 //int getNbAlgo();
00104         };
00105 
00106 }
00107 
00108 
00109 #endif
00110 

Généré le Fri Mar 26 13:02:03 2004 pour AlgoAtomD par doxygen 1.3.5