00001 00002 #ifndef SIMULATOM_MOLECULE_CUBE 00003 #define SIMULATOM_MOLECULE_CUBE 00004 00005 #include "pi2d14/pi2d14_abstractmoleculed.h" 00006 00007 #include "Atom.h" 00008 00009 00010 namespace ALGOATOMD 00011 { 00012 00013 #define MOLECULE_CUBE_NB_ALGO 1 00014 00015 00021 class MoleculeCube : public AbstractMoleculeD 00022 { 00023 private : 00024 00025 API::Atom *atoms; //le pointeur sur le tableau d'atome 00026 00027 double xg,yg; //poxition x,y du centre de gravité du cube 00028 00029 unsigned int size; //la taille du tapis(nombre de molecule par cote) 00030 int indexInit,index1,index2,index3; //les index des mouvements synchronise 00031 bool m1,m2,m3; //true si le mouvement de meme nom est en cours 00032 //toutes les valeur sont false si on est dans le mouvement d'initialisation 00033 00037 void linkAllLegs(); 00041 void initDep1(); 00045 void algoDep1(); 00046 00047 protected : 00048 00053 bool needMoreMouvement(); 00054 00055 public : 00056 00062 MoleculeCube(int buildParam, int typeDep); 00066 virtual ~MoleculeCube(); 00067 00072 void processMovement(); 00076 void renderMoleculeInfo(); 00077 }; 00078 00079 } 00080 00081 #endif 00082
1.3.5