00001 //----------------------------------------------------------------------------- 00002 // Author: Jim Holmström 00003 // Date: 2002-02-13 00004 //----------------------------------------------------------------------------- 00005 00006 #ifndef __IINPUTGENERATOR_H 00007 #define __IINPUTGENERATOR_H 00008 00009 #include <Vector.hpp> 00010 00015 class IInputGenerator 00016 { 00017 public: 00018 00019 enum eGeneratorType {FunctionGenerator, ClassesGenerator}; 00020 typedef enum eGeneratorType GeneratorType; 00021 00026 virtual Vector GetInput() = 0; 00027 00034 virtual Vector GetOutput() 00035 { 00036 return m_output; 00037 } 00038 00043 virtual Vector const & GetLastInput() const = 0; 00044 00049 virtual unsigned int GetDimension() const = 0; 00050 00055 virtual GeneratorType GetGeneratorType() const = 0; 00056 00057 protected: 00058 Vector m_output; 00059 00060 }; 00061 00062 00063 #endif 00064