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_tapis.h

Aller à la documentation de ce fichier.
00001 
00002 #ifndef SIMULATOM_MOLECULE_TAPIS
00003 #define SIMULATOM_MOLECULE_TAPIS
00004 
00005 #include "pi2d14/pi2d14_abstractmoleculed.h"
00006 
00007 #include "Atom.h"
00008 
00009 
00010 namespace ALGOATOMD
00011 {
00012 
00013         #define MOLECULE_TAPIS_NB_ALGO          2
00014 
00015 
00021         class MoleculeTapis : public AbstractMoleculeD
00022         {
00023         private :
00024 
00025                 API::Atom *atoms;                                       //le pointeur sur le tablea d'atome
00026                 
00027                 double xg,yg;                                           //poxition x,y du centre de gravité du tapis
00028                 double xf,yf;                                           //direction x,y allant du centre de gravité du tapis a la destination
00029                 double xrepX,yrepX;                                     //axe x du repere relatif au tapis
00030                 double xrepY,yrepY;                                     //axe y du repere relatif au tapis
00031                 double angle;                                           //l'angle du vecteur (xf,yf) par rapport au vecteur x du repere du tapis
00032 
00033 
00034                 unsigned int size;                                      //la taille du tapis(nombre de molecule par cote)
00035                 int indexInit,index1,index2,index3;     //les index des mouvements synchronise
00036                 bool m1,m2,m3;                                          //true si le mouvement de meme nom est en cours
00037                                                                                         //toutes les valeur sont false si on est dans le mouvement d'initialisation
00038 
00042                 void linkAllLegs();
00046                 void initDep1();
00050                 void algoDep1();
00054                 void initDep2();
00058                 void algoDep2();
00062                 void debugAlgo2();
00063 
00064         protected :
00065                 
00070                 bool needMoreMouvement();
00071                 
00075                 void calcAngle();
00076 
00077         public :
00078 
00084                 MoleculeTapis(int buildParam, int typeDep);
00088                 virtual ~MoleculeTapis();
00089 
00094                 void processMovement();
00098                 void renderMoleculeInfo();
00099                 //int getNbAlgo();
00100         };
00101 
00102 }
00103 
00104 #endif
00105 

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