00001 #include "GLNormalRendererGLGroupingVisitor.h"
00002 #include "GLTransform.h"
00003
00004 using namespace X3DTK;
00005
00006 GLNormalRendererGLGroupingVisitor::GLNormalRendererGLGroupingVisitor()
00007 : GLGroupingVisitor()
00008 {
00009
00010 defineNewEnterFunction<GLNormalRendererGLGroupingVisitor, GLTransform>(&GLNormalRendererGLGroupingVisitor::enterGLTransform);
00011
00012
00013 defineNewLeaveFunction<GLNormalRendererGLGroupingVisitor, GLTransform>(&GLNormalRendererGLGroupingVisitor::leaveGLTransform);
00014 }
00015
00016 GLNormalRendererGLGroupingVisitor::~GLNormalRendererGLGroupingVisitor()
00017 {
00018 }
00019
00020 void GLNormalRendererGLGroupingVisitor::enterGLTransform(GLTransform *G) const
00021 {
00022 glMatrixMode(GL_MODELVIEW);
00023 glPushMatrix();
00024 glMultMatrixf(&G->getTransformMatrix().front());
00025 }
00026
00027 void GLNormalRendererGLGroupingVisitor::leaveGLTransform(GLTransform *G) const
00028 {
00029 glMatrixMode(GL_MODELVIEW);
00030 glPopMatrix();
00031 }