OpenGLVisitor.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /***************************************************************************
  2. OpenGLVisitor.h - description
  3. -------------------
  4. begin : Sat Jan 6 2001
  5. copyright : (C) 2001 by Henrik Enqvist
  6. email : henqvist@excite.com
  7. ***************************************************************************/
  8. #ifndef OPENGLVISITOR_H
  9. #define OPENGLVISITOR_H
  10. #include "Visitor.h"
  11. #define EM_GL_GCOL_TEX 0
  12. #define EM_GL_GCOL_TEX_TRANS 2
  13. #define EM_GL_CLEAN 4
  14. class Group;
  15. class Shape3D;
  16. /** @author Henrik Enqvist */
  17. class OpenGLVisitor : public Visitor {
  18. protected:
  19. OpenGLVisitor();
  20. public:
  21. ~OpenGLVisitor();
  22. static OpenGLVisitor * getInstance();
  23. void visit(Group* g);
  24. void empty();
  25. int getMode() { return m_iMode; };
  26. void setMode(int m) { m_iMode = m; };
  27. static int getPolys() { return m_iPoly; };
  28. private:
  29. int m_iMode;
  30. bool m_bOffset;
  31. void visit(Shape3D* s, Group* g);
  32. static OpenGLVisitor * p_OpenGLVisitor;
  33. static int m_iPoly;
  34. };
  35. #endif // OPENGLVISITOR_H