proj home

Files   Classes   Functions   Hierarchy  

maze002.cpp

Go to the documentation of this file.
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 

Generated on Fri Mar 4 00:49:28 2011 for Chelton Evans Source by  doxygen 1.5.8