00001 00002 #ifndef SIMULATOM_ABSTRACTMOLECULED 00003 #define SIMULATOM_ABSTRACTMOLECULED 00004 00005 #include "Molecule.h" 00006 #include "CartesianPosition.h" 00007 00008 namespace ALGOATOMD 00009 { 00010 00016 class AbstractMoleculeD 00017 { 00018 private : 00019 00020 API::CartesianPosition destination; //la position que la molecule doit atteindre 00021 00022 00023 protected : 00024 double atomSize; //la demi-largeur d'un atom 00025 double legSize; //la longueur d'une patte 00026 00027 int typeDeplacement; //le type de deplacement 00028 00033 virtual bool needMoreMouvement(); 00034 00035 00036 public : 00037 const static double pi = 3.14592654; //constante pi 00038 00042 AbstractMoleculeD(); 00046 virtual ~AbstractMoleculeD(); 00047 00048 00053 virtual void processMovement(); 00054 00058 virtual void renderMoleculeInfo(); 00059 00064 //virtual int getNbAlgo(); 00065 00070 void setDestination(API::CartesianPosition *d); 00071 00076 const API::CartesianPosition* getDestination(); 00077 00081 double getAtomSize(); 00082 00086 double getLegSize(); 00087 }; 00088 00089 } 00090 00091 #endif
1.3.5