PointLightVisitor.h 975 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /***************************************************************************
  2. PointLightVisit.h - description
  3. -------------------
  4. begin : Sun Jan 30 2000
  5. copyright : (C) 2000 by Henrik Enqvist
  6. email : henqvist@excite.com
  7. ***************************************************************************/
  8. #ifndef POINTLIGHTVISITOR_H
  9. #define POINTLIGHTVISITOR_H
  10. #include <vector>
  11. #include "Visitor.h"
  12. #include "EMath.h"
  13. class Light;
  14. class Group;
  15. class Shape3D;
  16. /** Only for internal use. */
  17. class PointLightVisitor : public Visitor {
  18. protected:
  19. PointLightVisitor(int size = 4);
  20. public:
  21. ~PointLightVisitor();
  22. static PointLightVisitor * getInstance();
  23. void add(Light* l);
  24. void visit(Group* g);
  25. void clear();
  26. private:
  27. vector<Light*> m_vLight;
  28. void visit(Shape3D* s, Group* g);
  29. static PointLightVisitor * p_PointLightVisitor;
  30. };
  31. #endif // POINTLIGHTVISITOR_H