00001 00002 #ifndef SIMULATOM_MOLECULE_ROUE 00003 #define SIMULATOM_MOLECULE_ROUE 00004 00005 #include "pi2d14/pi2d14_abstractmoleculed.h" 00006 #include "pi2d14/pi2d14_maindeclaration.h" 00007 00008 #include "Atom.h" 00009 00010 00011 namespace ALGOATOMD 00012 { 00013 00014 #define MOLECULE_ROUE_NB_ALGO 1 00015 00016 00022 class MoleculeRoue : public AbstractMoleculeD 00023 { 00024 private : 00025 00026 API::Atom *atoms; //le pointeur sur le tableau d'atome 00027 dJointID *atomsFixedWorld; 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,init; //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 void accroche(bool flag); 00056 00057 public : 00058 00064 MoleculeRoue(int buildParam, int typeDep); 00068 virtual ~MoleculeRoue(); 00069 00074 void processMovement(); 00078 void renderMoleculeInfo(); 00079 }; 00080 00081 } 00082 00083 #endif 00084
1.3.5