proj home

Files   Classes   Functions   Hierarchy  

halfspaceD3display.h

Go to the documentation of this file.
00001 #ifndef HALFSPACED3DISPLAY_H
00002 #define HALFSPACED3DISPLAY_H
00003 
00004 
00005 #include <halfspaceD3.h>
00006 #include <OpenGLtemplated.h>
00007 
00008 template< typename HS >
00009 class halfspaceD3display : public gobj
00010 {
00011 public:
00012 
00013   HS halfspace;
00014 
00015   halfspaceD3display(HS & halfspace_)
00016     : halfspace(halfspace_) {}
00017 
00019   void draw()
00020   {
00021     
00022     glBegin(GL_TRIANGLES);
00023     glVertex3T<GLdouble>()(halfspace.p0);
00024     glVertex3T<GLdouble>()(halfspace.p1);
00025     glVertex3T<GLdouble>()(halfspace.p2);
00026     glEnd();
00027     glPushMatrix();
00028     glTranslateT<GLdouble>()( (halfspace.p0+halfspace.p1+halfspace.p2)/3.0 );
00029     glBegin(GL_LINES);
00030     glVertex3f(0.0,0.0,0.0);
00031     glVertex3f
00032     (
00033       halfspace.normal.x,
00034       halfspace.normal.y,
00035       halfspace.normal.z
00036     );
00037     glEnd();
00038 
00039     glPopMatrix();
00040   }
00041 };
00042 
00043 
00044 template< typename HS >
00045 class halfspaceD3displaywinding : public gobj
00046 {
00047 public:
00048 
00049   HS halfspace;
00050   GLdouble factor;
00051 
00052   halfspaceD3displaywinding(HS & halfspace_, GLdouble factor_)
00053     : halfspace(halfspace_), factor(factor_) {}
00054 
00056   void draw()
00057   {
00058     glBegin(GL_TRIANGLES);
00059     glColor4T<GLdouble>()(1.0,0.0,0.0,factor);
00060     glVertex3T<GLdouble>()(halfspace.p0);
00061     glColor4T<GLdouble>()(0.0,1.0,0.0,factor);
00062     glVertex3T<GLdouble>()(halfspace.p1);
00063     glColor4T<GLdouble>()(0.0,0.0,1.0,factor);
00064     glVertex3T<GLdouble>()(halfspace.p2);
00065     glEnd();
00066     glPushMatrix();
00067     glTranslateT<GLdouble>()( (halfspace.p0+halfspace.p1+halfspace.p2)/3.0 );
00068     glBegin(GL_LINES);
00069     glColor4T<GLdouble>()(1.0,1.0,1.0,factor);
00070     glVertex4f(0.0,0.0,0.0,factor);
00071     glColor4T<GLdouble>()(0.0,0.0,0.0,factor);
00072     glVertex4f
00073     (
00074       halfspace.normal.x,
00075       halfspace.normal.y,
00076       halfspace.normal.z,
00077       factor
00078     );
00079     glEnd();
00080 
00081     glPopMatrix();
00082   }
00083 };
00084 
00085 
00086 
00087 #endif
00088 
00089 

Generated on Fri Mar 4 00:49:26 2011 for Chelton Evans Source by  doxygen 1.5.8