Main Page   Namespace List   Alphabetical List   Data Structures   File List   Data Fields   Globals  

engine.h

Go to the documentation of this file.
00001 
00002 //                        engine.h                                      //
00003 //                       ----------                                     //
00004 //    begin                : Tue Nov 4 2003                             //
00005 //    copyright            : (C) 2003 by cbaudry (CEA/DSM/SPP)          //
00006 //    email                : cedric.baudry@tremplin-utc.fr              //
00008 
00010 //                                                                        //
00011 //   This program is free software; you can redistribute it and/or modify //
00012 //   it under the terms of the GNU General Public License as published by //
00013 //   the Free Software Foundation, version 2 of the License               //
00014 //                                                                        //
00016 
00017 #pragma once
00018 
00019 #include "figures.h"
00020 #include "camera.h"
00021 #include "lighting.h"
00022 #include "mouse.h"
00023 #include "tesspoly.h"
00024 #include "structure.h"
00025 #include <sys/timeb.h>          //ftime serves to chronometer an event
00026 
00027 
00028 #define MAX_POINTS_PER_FACE 4096
00029 
00030 
00040 class Engine 
00041 {
00042 
00043 private :
00044 
00045     TessPoly *tessPoly;            
00046     struct timeb tstart;           
00047    
00048 public :
00049    
00050     Lighting *lighting;      
00051     Figures * figures;       
00052     Mouse * mouse ;          
00053 
00054     
00055     Engine();
00056     ~Engine();          
00057 
00058     int axisSize;             
00059     
00060     bool drawAxis;             
00061     bool drawEdges;            
00062     bool drawMaterial;         
00063     bool drawBoundingBox;      
00064     bool drawSpot;             
00065     bool ready;                
00066 
00067     SCENE *scene;             
00068 
00069      
00070     void drawFace (INDEX_FACE iface, SCENE * s);
00071     void drawObject (INDEX_OBJECT iobject, SCENE * s);
00072     void drawSuperVolume (SVOLUME v, SCENE * s);
00073     void drawScene (SCENE * s);
00074 
00075     void display (int);
00076     
00077     void startTimer (void);
00078     void stopTimer (const char *msg);     
00079 
00080     int loadFile (const char *fileName);
00081 
00082 
00083     void setOrthoProjection (double x1, double y1, double x2, double y2);
00084     void xyzview(int param);
00085 
00086 
00087 };
00088 

Generated on Wed Feb 18 16:32:50 2004 for POVAMA by doxygen1.2.18