Files Classes Functions Hierarchy
#include <tetrahedrontest.h>
Public Member Functions | |
| void | test01 (int argc, char **argv) |
| void | test02 (int argc, char **argv) |
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 10 of file tetrahedrontest.h.
| void tetrahedrontest::display01 | ( | ) | [static] |
Display the graphics in gX.
Definition at line 23 of file tetrahedrontest.cpp.
References gobjContainer::draw(), glerrordisplay(), and gobj::global.
Referenced by test01(), and test02().
00024 { 00025 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 00026 00027 assert(gobj::global!=0); 00028 gobj::global->draw(); 00029 00030 glerrordisplay(); 00031 00032 glutSwapBuffers(); 00033 }
| void tetrahedrontest::keyboard01 | ( | unsigned char | key, | |
| int | x, | |||
| int | y | |||
| ) | [static] |
ESC to quit program.
Definition at line 13 of file tetrahedrontest.cpp.
Referenced by test01(), and test02().
| void tetrahedrontest::test01 | ( | int | argc, | |
| char ** | argv | |||
| ) |
Definition at line 36 of file tetrahedrontest.cpp.
References tetrahedrondisplay< TET >::centroid, display01(), tetrahedrondisplay< TET >::draw(), gX, keyboard01(), commandline::mapvar(), tetrahedrondisplay< TET >::mesh, gobjContainer::set(), tetrahedrondisplay< TET >::trianglecenterpoints, tetrahedrondisplay< TET >::trianglecenters, and zpr::update().
00037 { 00038 glutInit(&argc,argv); 00039 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 00040 glutInitWindowSize(800,600); 00041 glutCreateWindow(""); 00042 glutDisplayFunc(display01); 00043 glutKeyboardFunc(keyboard01); 00044 00045 zpr zz; 00046 00047 OpenGLinitialisation(); 00048 00049 glEnable(GL_DEPTH_TEST); 00050 glEnable(GL_CULL_FACE); 00051 glEnable(GL_NORMALIZE); 00052 00053 commandline cmd(argc,argv); 00054 00055 double a0=0.0; 00056 double a1=0.0; 00057 double a2=0.0; 00058 double b0=1.3; 00059 double b1=0.0; 00060 double b2=0.0; 00061 00062 double c0=0.5; 00063 double c1=0.0; 00064 double c2=1.0; 00065 00066 double d0=1.0; 00067 double d1=2.0; 00068 double d2=0.0; 00069 00070 cmd.mapvar(a0,"a0"); 00071 cmd.mapvar(a1,"a1"); 00072 cmd.mapvar(a2,"a2"); 00073 cmd.mapvar(b0,"b0"); 00074 cmd.mapvar(b1,"b1"); 00075 cmd.mapvar(b2,"b2"); 00076 cmd.mapvar(c0,"c0"); 00077 cmd.mapvar(c1,"c1"); 00078 cmd.mapvar(c2,"c2"); 00079 cmd.mapvar(d0,"d0"); 00080 cmd.mapvar(d1,"d1"); 00081 cmd.mapvar(d2,"d2"); 00082 00083 typedef point3<double> pt3; 00084 00085 pt3 a(a0,a1,a2); 00086 pt3 b(b0,b1,b2); 00087 pt3 c(c0,c1,c2); 00088 pt3 d(d0,d1,d2); 00089 00090 //gX.push_back( new gobjglDisable(GL_LIGHTING) ); 00091 00092 tetrahedron<pt3,double> tet(a,b,c,d); 00093 00094 /* 00095 visualize_tetrahedron<double> v(gX,t); 00096 00097 cmd.mapvar(v.mesh_on,"mesh_on"); 00098 cmd.mapvar(v.midpoints_on,"midpoints_on"); 00099 cmd.mapvar(v.midpoint_center_on,"midpoint_center_on"); 00100 cmd.mapvar(v.altitude_to_point_on,"altitude_to_point_on"); 00101 cmd.mapvar(v.altitude_on,"altitude_on"); 00102 cmd.mapvar(v.innersphere_on,"innersphere_on"); 00103 */ 00104 00105 gX.set(); 00106 00107 00108 tetrahedrondisplay< tetrahedron<pt3,double> > td(gX,tet); 00109 cmd.mapvar(td.mesh,"mesh"); 00110 cmd.mapvar(td.centroid,"centroid"); 00111 cmd.mapvar(td.trianglecenterpoints,"trianglecenterpoints"); 00112 cmd.mapvar(td.trianglecenters,"trianglecenters"); 00113 td.draw(); 00114 00115 00116 /* 00117 tetrahedrondisplaymesh< tetrahedron<pt3,double> > td(gX,tet); 00118 td.draw(); 00119 00120 typedef triangledisplaypoints< triangle3D<pt3,double> > 00121 tridisptype; 00122 typedef tetrahedron<pt3,double> tettype; 00123 00124 tetrahedrontriangledisplay< tettype, tridisptype > tetd(gX,tet); 00125 tetrahedrontriangledisplaytdimacro(tetd, turnon() ); 00126 00127 tetd.draw(); 00128 */ 00129 00130 00131 // v.eval(); 00132 00133 //t.circumcenter(); 00134 00135 00136 zz.update(); 00137 glutMainLoop(); 00138 }
| void tetrahedrontest::test02 | ( | int | argc, | |
| char ** | argv | |||
| ) |
Definition at line 141 of file tetrahedrontest.cpp.
References tetrahedron< PT, PD >::applytoself(), tetrahedrondisplay< TET >::centroid, display01(), tetrahedrondisplaymesh< TET >::draw(), tetrahedrondisplay< TET >::draw(), gX, keyboard01(), commandline::mapvar(), tetrahedrondisplay< TET >::mesh, gobjContainer::set(), tetrahedrondisplay< TET >::test, tetrahedrondisplay< TET >::trianglecenterpoints, tetrahedrondisplay< TET >::trianglecenters, and zpr::update().
00142 { 00143 glutInit(&argc,argv); 00144 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); 00145 glutInitWindowSize(800,600); 00146 glutCreateWindow(""); 00147 glutDisplayFunc(display01); 00148 glutKeyboardFunc(keyboard01); 00149 00150 zpr zz; 00151 00152 OpenGLinitialisation(); 00153 00154 glEnable(GL_DEPTH_TEST); 00155 glEnable(GL_CULL_FACE); 00156 glEnable(GL_NORMALIZE); 00157 00158 commandline cmd(argc,argv); 00159 00160 double a0=0.0; 00161 double a1=0.0; 00162 double a2=0.0; 00163 double b0=1.3; 00164 double b1=0.0; 00165 double b2=0.0; 00166 00167 double c0=0.5; 00168 double c1=0.0; 00169 double c2=1.0; 00170 00171 double d0=1.0; 00172 double d1=2.0; 00173 double d2=0.0; 00174 00175 cmd.mapvar(a0,"a0"); 00176 cmd.mapvar(a1,"a1"); 00177 cmd.mapvar(a2,"a2"); 00178 cmd.mapvar(b0,"b0"); 00179 cmd.mapvar(b1,"b1"); 00180 cmd.mapvar(b2,"b2"); 00181 cmd.mapvar(c0,"c0"); 00182 cmd.mapvar(c1,"c1"); 00183 cmd.mapvar(c2,"c2"); 00184 cmd.mapvar(d0,"d0"); 00185 cmd.mapvar(d1,"d1"); 00186 cmd.mapvar(d2,"d2"); 00187 00188 typedef point3<double> pt3; 00189 00190 pt3 a(a0,a1,a2); 00191 pt3 b(b0,b1,b2); 00192 pt3 c(c0,c1,c2); 00193 pt3 d(d0,d1,d2); 00194 00195 //gX.push_back( new gobjglDisable(GL_LIGHTING) ); 00196 00197 tetrahedron<pt3,double> tet(a,b,c,d); 00198 00199 gX.set(); 00200 00201 tetrahedrondisplay< tetrahedron<pt3,double> > td(gX,tet); 00202 cmd.mapvar(td.mesh,"mesh"); 00203 cmd.mapvar(td.centroid,"centroid"); 00204 cmd.mapvar(td.test,"test"); 00205 cmd.mapvar(td.trianglecenterpoints,"trianglecenterpoints"); 00206 cmd.mapvar(td.trianglecenters,"trianglecenters"); 00207 td.draw(); 00208 00209 tetrahedron<pt3,double> tet2; 00210 00211 uint n(1); 00212 cmd.mapvar(n,"n"); 00213 00214 //tet.applytoself(tet2, & triangle3D<pt3,double>::centroid ); 00215 //tet.applytoself(tet2, & triangle3D<pt3,double>::centroid, n ); 00216 //tet.applytoself(tet2, & triangle3D<pt3,double>::gergonnepoint, n ); 00217 //tet.applytoself(tet2, & triangle3D<pt3,double>::circumcenter, n ); 00218 //tet.applytoself(tet2, & triangle3D<pt3,double>::incenter, n ); 00219 //tet.applytoself(tet2, & triangle3D<pt3,double>::orthocenter, n ); 00220 tet.applytoself(tet2, & triangle3D<pt3,double>::napoleanpoint, n ); 00221 00222 00223 tetrahedrondisplaymesh< tetrahedron<pt3,double> > td2(gX,tet2); 00224 td2.draw(); 00225 00226 00227 00228 zz.update(); 00229 glutMainLoop(); 00230 }
1.5.8