Files Classes Functions Hierarchy
00001 #include <iostream> 00002 using namespace std; 00003 00004 00005 #include <commandline.h> 00006 #include <graphmisc.h> 00007 #include <maze002.h> 00008 #include <mazedisp01.h> 00009 #include <mazematrixD2.h> 00010 #include <zpr.h> 00011 00012 string maze002::doc[] = 00013 { 00014 "", 00015 "Display an easy one path maze." 00016 }; 00017 00018 void maze002::keyboard01 00019 ( 00020 unsigned char key, 00021 int x, 00022 int y 00023 ) 00024 { 00025 switch (key) 00026 { 00027 case 27: 00028 exit(0); 00029 break; 00030 } 00031 } 00032 00033 void maze002::display01() 00034 { 00035 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 00036 00037 gobj::global->draw(); 00038 00039 glerrordisplay(); 00040 00041 glutSwapBuffers(); 00042 } 00043 00044 00045 maze002::maze002(int argc, char** argv) 00046 : xGraphics(true) 00047 { 00048 glutInit(&argc,argv); 00049 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 00050 glutInitWindowSize(800,600); 00051 glutCreateWindow(""); 00052 glutDisplayFunc(maze002::display01); 00053 glutKeyboardFunc(maze002::keyboard01); 00054 00055 OpenGLinitialisation(); 00056 00057 glEnable(GL_DEPTH_TEST); 00058 glEnable(GL_CULL_FACE); 00059 glEnable(GL_NORMALIZE); 00060 00061 xGraphics.set(); 00062 00063 // Construct the maze. 00064 00065 mazematrixD2<uint> mz(3,3); 00066 00067 uint k; 00068 k = mz.add(); 00069 uint k2; 00070 k2 = mz.add(); 00071 mz.link(k,1,1,3); 00072 00073 mz.link(1,1,2); 00074 mz.link(2,1,3); 00075 mz.link(3,2,6); 00076 mz.link(6,3,5); 00077 mz.link(5,3,4); 00078 mz.link(4,2,7); 00079 mz.link(7,1,8); 00080 mz.link(8,1,9); 00081 mz.link(9,1,k2); 00082 00083 assert(mz.valid()); 00084 00085 commandline cmd(argc,argv); 00086 00087 double dx=0.2; 00088 cmd.mapvar(dx,"dx"); 00089 00090 mazedisp01 md(dx,1,mz); 00091 md.draw(); 00092 } 00093 00094 00095 void maze002::eval() 00096 { 00097 zpr zz; 00098 00099 zz.update(); 00100 glutMainLoop(); 00101 } 00102
1.5.8