Files Classes Functions Hierarchy
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
1.5.8