00001 00002 #ifndef SIMULATOM_MAIN_DECLARATION 00003 #define SIMULATOM_MAIN_DECLARATION 00004 00005 00006 #include <string> 00007 #include <drawstuff/drawstuff.h> 00008 #include <ode/ode.h> 00009 #include <time.h> 00010 #include <sys/time.h> 00011 00012 #include "ConfigReader.h" 00013 #include "mmgr.h" 00014 #include "CollisionGroup.h" 00015 #include "CollisionManager.h" 00016 #include "Engine.h" 00017 #include "Entity.h" 00018 #include "Event.h" 00019 #include "SimWorld.h" 00020 #include "Math.h" 00021 #include "RigidBody.h" 00022 #include "HingeJoint.h" 00023 #include "AMotorJoint.h" 00024 #include "SimServoMotor.h" 00025 #include "Simulator.h" 00026 #include "Timer.h" 00027 #include "Atom.h" 00028 #include "Graph.h" 00029 00030 #include <GL/gl.h> 00031 #include <GL/glu.h> 00032 00033 #include "pi2d14/pi2d14_finalpoint.h" 00034 #include "pi2d14/pi2d14_texture2d.h" 00035 #include "pi2d14/pi2d14_selectionbutton.h" 00036 #include "pi2d14/pi2d14_numberrenderer.h" 00037 #include "pi2d14/pi2d14_abstractmoleculed.h" 00038 00039 #include "pi2d14/pi2d14_molecule_atome.h" 00040 #include "pi2d14/pi2d14_molecule_ligne.h" 00041 #include "pi2d14/pi2d14_molecule_tapis.h" 00042 #include "pi2d14/pi2d14_molecule_cube.h" 00043 #include "pi2d14/pi2d14_molecule_roue.h" 00044 00045 00046 00048 00049 #define NB_MOLECULES 5 00050 00051 #define MOLECULE_ATOME_SEUL 0 00052 #define MOLECULE_LIGNE 1 00053 #define MOLECULE_TAPIS 2 00054 #define MOLECULE_CUBE 3 00055 #define MOLECULE_ROUE 4 00056 00057 00058 00060 extern MENU::NumberRenderer *numberRenderer; //classe d'affichage de nombre 00061 extern GRAPHICSTOOLS::FinalPoint *fPoint; //le point de destination de la molecule 00062 extern GRAPHICSTOOLS::Texture_2D *texLogo; //texture LOGO 00063 extern GRAPHICSTOOLS::Texture_2D *texFontNumber; //texture de font pour les nombres 00064 extern GRAPHICSTOOLS::Texture_2D *texParam; //texture pour parametre construction molecule 00065 extern GRAPHICSTOOLS::Texture_2D *texAlgo; //texture numero d'algorithme courant 00066 extern GRAPHICSTOOLS::Texture_2D *texMenuMolecul; //texture du menu de selection des molecules 00067 extern MENU::SelectionButton *menuMolecules; //le menu pour la selection de la molecule 00068 00069 extern double elapsedTime; //temps ecoule depuis la derniere frame 00070 extern double simulationTime; //temps ecoule depuis le debut de la simulation 00071 00072 extern int numParamConstruction; //le numero de la molecule courante 00073 extern int numAlgo; //le numero de l'algorithme courant 00074 00075 //extern bool initHasBeenDone; //true si l'initialisation a ete effectuer ===> supprimer de ce fichier pour plus de control sur la securite des methodes 00076 extern bool atomSelected; //true si un atom a ete selectionne 00077 extern bool simulationLaunched; //true si une simulation est lance(en cour) 00078 extern bool displayDebug; //true si on doit afficher le debuggage de l'algo courant 00079 00080 extern ALGOATOMD::AbstractMoleculeD *currentMolecule; //la molecule � manipuler 00081 00082 00083 extern Engine* engine; //le moteur general de rendu 00084 extern CollisionGroup* collisionGroup; // 00085 00086 00087 00089 00094 void orthogonalProjection(bool init); 00095 00099 void launchSimulation(); 00100 00104 void stopSimulation(); 00105 00109 void init(); 00110 00114 void render(int pause); 00115 00119 void quit(); 00120 00124 void setFinalPointToMolecule(); 00125 00126 00127 00128 #endif
1.3.5