/** 
* @file FCReadCache.h
* @author Erik Rodner
* @date 11/15/2007

*/
#ifndef FCReadCacheINCLUDE
#define FCReadCacheINCLUDE

#include "core/vector/VectorT.h"
#include "core/vector/MatrixT.h"

 
#include "vislearning/features/fbase/FeatureFactory.h"


namespace OBJREC {

class FCReadCache : public FeatureFactory
{

    protected:
	
	enum {
	    FEATURE_FORMAT_STANDARD = 0,
	    FEATURE_FORMAT_SIMPLE
	};

	int feature_format;

	std::string cachedir;

	int cachemode;
	
	bool cache_debug;

	std::string extension;

	
	int readSimpleText ( std::ifstream & ifs, NICE::Vector & vec );

    public:
  
	/** simple constructor */
	FCReadCache ( const NICE::Config *conf );
      
	/** simple destructor */
	virtual ~FCReadCache();
     
	// refactor-nice.pl: check this substitution
	// old: int convert ( const Image & img, Vector & vec );
	int convert ( const NICE::Image & img, NICE::Vector & vec );
};


} // namespace

#endif
