Files Classes Functions Hierarchy
00001 #include <cassert> 00002 #include <iostream> 00003 using namespace std; 00004 00005 #include <commandline.h> 00006 #include <gobj.h> 00007 #include <graphmisc.h> 00008 #include <triangle.h> 00009 #include <triangle3D.h> 00010 #include <triangledisplay.h> 00011 #include <triangletest.h> 00012 #include <zpr.h> 00013 00014 00015 00016 00017 void triangletest::keyboard01(unsigned char key, int x, int y) 00018 { 00019 switch (key) 00020 { 00021 case 27: 00022 exit(0); 00023 break; 00024 } 00025 } 00026 00027 void triangletest::display01() 00028 { 00029 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 00030 00031 assert(gobj::global!=0); 00032 gobj::global->draw(); 00033 00034 glerrordisplay(); 00035 00036 glutSwapBuffers(); 00037 } 00038 00039 void triangletest::test01(int argc, char** argv) 00040 { 00041 glutInit(&argc,argv); 00042 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 00043 glutInitWindowSize(800,800); 00044 glutCreateWindow(""); 00045 glutDisplayFunc(display01); 00046 glutKeyboardFunc(keyboard01); 00047 00048 zpr zz; 00049 00050 OpenGLinitialisation(); 00051 00052 glEnable(GL_DEPTH_TEST); 00053 glEnable(GL_CULL_FACE); 00054 glEnable(GL_NORMALIZE); 00055 00056 commandline cmd(argc,argv); 00057 00058 double a0=0.0; 00059 double a1=0.0; 00060 double b0=1.3; 00061 double b1=0.0; 00062 double c0=1.0; 00063 double c1=2.0; 00064 00065 cmd.mapvar(a0,"a0"); 00066 cmd.mapvar(a1,"a1"); 00067 cmd.mapvar(b0,"b0"); 00068 cmd.mapvar(b1,"b1"); 00069 cmd.mapvar(c0,"c0"); 00070 cmd.mapvar(c1,"c1"); 00071 00072 typedef point2<double> pt2; 00073 00074 gX.set(); 00075 00076 triangle<pt2,double> tr( pt2(a0,a1), pt2(b0,b1), pt2(c0,c1) ); 00077 00078 triangledisplay< triangle<pt2,double> > td(gX,tr); 00079 00080 bool off(false); 00081 cmd.mapvar(off,"off"); 00082 if (off==false) 00083 td.turnon(); 00084 00085 cmd.mapvar(td.mesh,"mesh"); 00086 cmd.mapvar(td.midpoints,"midpoints"); 00087 cmd.mapvar(td.centroid,"centroid"); 00088 cmd.mapvar(td.orthocenter,"orthocenter"); 00089 cmd.mapvar(td.circumcenter,"circumcenter"); 00090 cmd.mapvar(td.incenter,"incenter"); 00091 cmd.mapvar(td.fermatpoint,"fermatpoint"); 00092 cmd.mapvar(td.napoleanpoint,"napoleanpoint"); 00093 cmd.mapvar(td.gergonnepoint,"gergonnepoint"); 00094 00095 td.draw(); 00096 00097 zz.update(); 00098 glutMainLoop(); 00099 } 00100 00101 00102 00103 00104 00105 void triangletest::test02(int argc, char** argv) 00106 { 00107 glutInit(&argc,argv); 00108 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 00109 glutInitWindowSize(800,800); 00110 glutCreateWindow(""); 00111 glutDisplayFunc(display01); 00112 glutKeyboardFunc(keyboard01); 00113 00114 zpr zz; 00115 00116 OpenGLinitialisation(); 00117 00118 glEnable(GL_DEPTH_TEST); 00119 glEnable(GL_CULL_FACE); 00120 glEnable(GL_NORMALIZE); 00121 00122 commandline cmd(argc,argv); 00123 00124 double a0=0.0; 00125 double a1=0.0; 00126 double b0=1.3; 00127 double b1=0.0; 00128 double c0=1.0; 00129 double c1=2.0; 00130 00131 cmd.mapvar(a0,"a0"); 00132 cmd.mapvar(a1,"a1"); 00133 cmd.mapvar(b0,"b0"); 00134 cmd.mapvar(b1,"b1"); 00135 cmd.mapvar(c0,"c0"); 00136 cmd.mapvar(c1,"c1"); 00137 00138 typedef point2<double> pt2; 00139 00140 gX.set(); 00141 00142 triangle<pt2,double> tr( pt2(a0,a1), pt2(b0,b1), pt2(c0,c1) ); 00143 00144 triangledisplaypoints< triangle<pt2,double> > td(gX,tr); 00145 00146 bool off(false); 00147 cmd.mapvar(off,"off"); 00148 if (off==false) 00149 td.turnon(); 00150 00151 cmd.mapvar(td.mesh,"mesh"); 00152 cmd.mapvar(td.midpoints,"midpoints"); 00153 cmd.mapvar(td.centroid,"centroid"); 00154 cmd.mapvar(td.orthocenter,"orthocenter"); 00155 cmd.mapvar(td.circumcenter,"circumcenter"); 00156 cmd.mapvar(td.incenter,"incenter"); 00157 cmd.mapvar(td.fermatpoint,"fermatpoint"); 00158 cmd.mapvar(td.napoleanpoint,"napoleanpoint"); 00159 cmd.mapvar(td.gergonnepoint,"gergonnepoint"); 00160 00161 td.draw(); 00162 00163 zz.update(); 00164 glutMainLoop(); 00165 } 00166 00167 00168 00169 00170 void triangletest::test03(int argc, char** argv) 00171 { 00172 glutInit(&argc,argv); 00173 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 00174 glutInitWindowSize(800,600); 00175 glutCreateWindow(""); 00176 glutDisplayFunc(display01); 00177 glutKeyboardFunc(keyboard01); 00178 00179 zpr zz; 00180 00181 OpenGLinitialisation(); 00182 00183 glEnable(GL_DEPTH_TEST); 00184 glEnable(GL_CULL_FACE); 00185 glEnable(GL_NORMALIZE); 00186 00187 commandline cmd(argc,argv); 00188 00189 double a0=0.0; 00190 double a1=0.0; 00191 double a2=0.0; 00192 double b0=1.3; 00193 double b1=0.0; 00194 double b2=0.0; 00195 double c0=0.5; 00196 double c1=0.0; 00197 double c2=1.0; 00198 00199 cmd.mapvar(a0,"a0"); 00200 cmd.mapvar(a1,"a1"); 00201 cmd.mapvar(a2,"a2"); 00202 cmd.mapvar(b0,"b0"); 00203 cmd.mapvar(b1,"b1"); 00204 cmd.mapvar(b2,"b2"); 00205 cmd.mapvar(c0,"c0"); 00206 cmd.mapvar(c1,"c1"); 00207 cmd.mapvar(c2,"c2"); 00208 00209 typedef point3<double> pt3; 00210 00211 gX.set(); 00212 00213 triangle3D<pt3,double> tr( pt3(a0,a1,a2), pt3(b0,b1,b2), 00214 pt3(c0,c1,c2) ); 00215 00216 triangledisplay< triangle3D<pt3,double> > td(gX,tr); 00217 00218 bool off(false); 00219 cmd.mapvar(off,"off"); 00220 if (off==false) 00221 td.turnon(); 00222 00223 cmd.mapvar(td.mesh,"mesh"); 00224 cmd.mapvar(td.midpoints,"midpoints"); 00225 cmd.mapvar(td.centroid,"centroid"); 00226 cmd.mapvar(td.orthocenter,"orthocenter"); 00227 cmd.mapvar(td.circumcenter,"circumcenter"); 00228 cmd.mapvar(td.incenter,"incenter"); 00229 cmd.mapvar(td.fermatpoint,"fermatpoint"); 00230 cmd.mapvar(td.napoleanpoint,"napoleanpoint"); 00231 cmd.mapvar(td.gergonnepoint,"gergonnepoint"); 00232 00233 td.draw(); 00234 00235 zz.update(); 00236 glutMainLoop(); 00237 } 00238 00239 00240
1.5.8