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
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
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
00059
00060 }
00061
00062 if ((!G->getColor()) && (G->getTexCoord()))
00063 {
00064 vector<T2F_N3F_V3F> &vertexArray = G->getT2F_N3F_V3FvertexFaceArray();
00065
00066
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
00077
00078 }
00079
00080 if ((!G->getColor()) && (!G->getTexCoord()))
00081 {
00082 vector<N3F_V3F> &vertexArray = G->getN3F_V3FvertexFaceArray();
00083
00084
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
00095 }
00096 }
00097
00098 void GLNormalRendererGLGeometry3DVisitor::enterGLSphere(GLSphere *G) const
00099 {
00100 }
00101