proj home

Files   Classes   Functions   Hierarchy  

triangletest Class Reference

Test both the triange and triangledisplay classes. More...

#include <triangletest.h>

Collaboration diagram for triangletest:

List of all members.

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.


Detailed Description

Test both the triange and triangledisplay classes.

Definition at line 9 of file triangletest.h.


Member Function Documentation

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

00018 {
00019   switch (key)
00020   {
00021     case 27:
00022       exit(0);
00023       break;
00024   }
00025 }

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 }


Member Data Documentation

Graphics stream.

Definition at line 14 of file triangletest.h.

Referenced by test01(), test02(), and test03().


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

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