Files Classes Functions Hierarchy
#include <triangletest.h>
Public Member Functions | |
| void | test01 (int argc, char **argv) |
| Display all the triangle properties. | |
| void | test02 (int argc, char **argv) |
| Display point triangle properties. | |
| void | test03 (int argc, char **argv) |
| Test triangle3D that it displays as the 2D counterpart. | |
Static Public Member Functions | |
| static void | display01 () |
| Display the graphics in gX. | |
| static void | keyboard01 (unsigned char key, int x, int y) |
| ESC to quit program. | |
Public Attributes | |
| gobjContainer | gX |
| Graphics stream. | |
Definition at line 9 of file triangletest.h.
| void triangletest::display01 | ( | ) | [static] |
Display the graphics in gX.
Definition at line 27 of file triangletest.cpp.
References gobjContainer::draw(), glerrordisplay(), and gobj::global.
Referenced by test01(), test02(), and test03().
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 }
| void triangletest::keyboard01 | ( | unsigned char | key, | |
| int | x, | |||
| int | y | |||
| ) | [static] |
ESC to quit program.
Definition at line 17 of file triangletest.cpp.
Referenced by test01(), test02(), and test03().
| void triangletest::test01 | ( | int | argc, | |
| char ** | argv | |||
| ) |
Display all the triangle properties.
Definition at line 39 of file triangletest.cpp.
References triangledisplay< TR >::centroid, triangledisplay< TR >::circumcenter, display01(), triangledisplay< TR >::draw(), triangledisplay< TR >::fermatpoint, triangledisplay< TR >::gergonnepoint, gX, triangledisplay< TR >::incenter, keyboard01(), commandline::mapvar(), triangledisplay< TR >::mesh, triangledisplay< TR >::midpoints, triangledisplay< TR >::napoleanpoint, triangledisplay< TR >::orthocenter, gobjContainer::set(), triangledisplay< TR >::turnon(), and zpr::update().
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 }
| void triangletest::test02 | ( | int | argc, | |
| char ** | argv | |||
| ) |
Display point triangle properties.
Definition at line 105 of file triangletest.cpp.
References triangledisplay< TR >::centroid, triangledisplay< TR >::circumcenter, display01(), triangledisplaypoints< TR >::draw(), triangledisplay< TR >::fermatpoint, triangledisplay< TR >::gergonnepoint, gX, triangledisplay< TR >::incenter, keyboard01(), commandline::mapvar(), triangledisplay< TR >::mesh, triangledisplay< TR >::midpoints, triangledisplay< TR >::napoleanpoint, triangledisplay< TR >::orthocenter, gobjContainer::set(), triangledisplay< TR >::turnon(), and zpr::update().
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 }
| void triangletest::test03 | ( | int | argc, | |
| char ** | argv | |||
| ) |
Test triangle3D that it displays as the 2D counterpart.
Definition at line 170 of file triangletest.cpp.
References triangledisplay< TR >::centroid, triangledisplay< TR >::circumcenter, display01(), triangledisplay< TR >::draw(), triangledisplay< TR >::fermatpoint, triangledisplay< TR >::gergonnepoint, gX, triangledisplay< TR >::incenter, keyboard01(), commandline::mapvar(), triangledisplay< TR >::mesh, triangledisplay< TR >::midpoints, triangledisplay< TR >::napoleanpoint, triangledisplay< TR >::orthocenter, gobjContainer::set(), triangledisplay< TR >::turnon(), and zpr::update().
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 }
1.5.8