00001 #ifndef EXPORTER_H_ 00002 #define EXPORTER_H_ 00003 00004 #include "iselection.h" 00005 00006 /* Exporterclass which will pass every visit-call to a special formatexporter. 00007 */ 00008 template<class TExporterFormat> 00009 class CExporter: public SelectionSystem::Visitor 00010 { 00011 public: 00012 CExporter (TextFileOutputStream& file) : 00013 m_exporter(file) 00014 { 00015 } 00016 00017 virtual ~CExporter (void) 00018 { 00019 } 00020 00021 void visit (scene::Instance& instance) const 00022 { 00023 m_exporter.visit(instance); 00024 } 00025 00026 private: 00027 mutable TExporterFormat m_exporter; 00028 }; // class CExporter 00029 00030 #endif /*EXPORTER_H_*/