proj home

Files   Classes   Functions   Hierarchy  

tetrahedrontest Class Reference

Test both the tetrahedron and tetrahedrondisplay classes. More...

#include <tetrahedrontest.h>

Collaboration diagram for tetrahedrontest:

List of all members.

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.


Detailed Description

Test both the tetrahedron and tetrahedrondisplay classes.

Definition at line 10 of file tetrahedrontest.h.


Member Function Documentation

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().

00014 {
00015   switch (key)
00016   {
00017     case 27:
00018       exit(0);
00019       break;
00020   }
00021 }

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 }


Member Data Documentation

Graphics stream.

Definition at line 15 of file tetrahedrontest.h.

Referenced by test01(), and test02().


The documentation for this class was generated from the following files:

Generated on Fri Mar 4 00:50:20 2011 for Chelton Evans Source by  doxygen 1.5.8