Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

GLNormalRendererGLGeometry3DVisitor.cpp

Go to the documentation of this file.
00001 #include "GLNormalRendererGLGeometry3DVisitor.h"
00002 #include "GLBox.h"
00003 #include "GLCone.h"
00004 #include "GLCylinder.h"
00005 #include "GLIndexedFaceSet.h"
00006 #include "GLSphere.h"
00007 
00008 using namespace X3DTK;
00009 
00010 GLNormalRendererGLGeometry3DVisitor::GLNormalRendererGLGeometry3DVisitor()
00011 : GLGeometry3DVisitor()
00012 {
00013   // Enter functions.
00014   defineNewEnterFunction<GLNormalRendererGLGeometry3DVisitor, GLBox>(&GLNormalRendererGLGeometry3DVisitor::enterGLBox);
00015   defineNewEnterFunction<GLNormalRendererGLGeometry3DVisitor, GLCone>(&GLNormalRendererGLGeometry3DVisitor::enterGLCone);
00016   defineNewEnterFunction<GLNormalRendererGLGeometry3DVisitor, GLCylinder>(&GLNormalRendererGLGeometry3DVisitor::enterGLCylinder);
00017   defineNewEnterFunction<GLNormalRendererGLGeometry3DVisitor, GLIndexedFaceSet>(&GLNormalRendererGLGeometry3DVisitor::enterGLIndexedFaceSet);
00018   defineNewEnterFunction<GLNormalRendererGLGeometry3DVisitor, GLSphere>(&GLNormalRendererGLGeometry3DVisitor::enterGLSphere);
00019 }
00020 
00021 GLNormalRendererGLGeometry3DVisitor::~GLNormalRendererGLGeometry3DVisitor()
00022 {
00023 }
00024 
00025 void GLNormalRendererGLGeometry3DVisitor::enterGLBox(GLBox *G) const
00026 {
00027 }
00028 
00029 void GLNormalRendererGLGeometry3DVisitor::enterGLCone(GLCone *G) const
00030 {
00031 }
00032 
00033 void GLNormalRendererGLGeometry3DVisitor::enterGLCylinder(GLCylinder *G) const
00034 {
00035 }
00036 
00037 void GLNormalRendererGLGeometry3DVisitor::enterGLIndexedFaceSet(GLIndexedFaceSet *G) const
00038 {
00039   
00040   if ((G->getColor()) && (G->getTexCoord()))
00041   {
00042   }  
00043     
00044   if ((G->getColor()) && (!G->getTexCoord()))
00045   {
00046     vector<C4F_N3F_V3F> &vertexArray = G->getC4F_N3F_V3FvertexFaceArray();
00047     
00048 //    glBegin(GL_LINES);
00049     
00050     for (vector<C4F_N3F_V3F>::const_iterator it = vertexArray.begin(); it != vertexArray.end(); ++it)
00051     {
00052       SFVec3f vertex = (*it).vertex;
00053       SFVec3f normal = (*it).normal;
00054       cout << "vertex = " << vertex << endl;
00055       cout << "normal = " << normal << endl;
00056     }
00057     
00058 //    glEnd();    
00059     
00060   }  
00061     
00062   if ((!G->getColor()) && (G->getTexCoord()))
00063   {
00064     vector<T2F_N3F_V3F> &vertexArray = G->getT2F_N3F_V3FvertexFaceArray();
00065     
00066 //    glBegin(GL_LINES);
00067     
00068     for (vector<T2F_N3F_V3F>::const_iterator it = vertexArray.begin(); it != vertexArray.end(); ++it)
00069     {
00070       SFVec3f vertex = (*it).vertex;
00071       SFVec3f normal = (*it).normal;
00072       cout << "vertex = " << vertex << endl;
00073       cout << "normal = " << normal << endl;
00074     }
00075     
00076 //    glEnd();    
00077     
00078   }  
00079   
00080   if ((!G->getColor()) && (!G->getTexCoord()))
00081   {
00082     vector<N3F_V3F> &vertexArray = G->getN3F_V3FvertexFaceArray();
00083     
00084 //    glBegin(GL_LINES);
00085     
00086     for (vector<N3F_V3F>::const_iterator it = vertexArray.begin(); it != vertexArray.end(); ++it)
00087     {
00088       SFVec3f vertex = (*it).vertex;
00089       SFVec3f normal = (*it).normal;
00090       cout << "vertex = " << vertex << endl;
00091       cout << "normal = " << normal << endl;
00092     }
00093     
00094 //    glEnd();    
00095   }
00096 }
00097 
00098 void GLNormalRendererGLGeometry3DVisitor::enterGLSphere(GLSphere *G) const
00099 {
00100 }
00101 

Generated on Wed May 14 10:03:09 2003 for X3DToolKit by doxygen1.3