00001 #ifndef _MATERIAL_VISITOR_H_ 00002 #define _MATERIAL_VISITOR_H_ 00003 00004 #include "cglib/phong_material.h" 00005 #include "cglib/textured_phong_material.h" 00006 00008 class MaterialVisitor 00009 { 00010 public: 00012 void visit(Material *material); 00013 00015 virtual void visit_PhongMaterial(PhongMaterial *material); 00016 00018 virtual void visit_TexturedPhongMaterial(TexturedPhongMaterial *material); 00019 }; 00020 00021 #endif /* _MATERIAL_VISITOR_H_ */