/** 
* @file VCLearnFromSC.h
* @brief Simple classification interface
* @author Erik Rodner
* @date 07.09.2007

*/
#ifndef VCLearnFromSCINCLUDE
#define VCLearnFromSCINCLUDE

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

#include "vislearning/classifier/classifierbase/VecClassifier.h"


namespace OBJREC {

/** Simple classification interface for OSL */
class VCLearnFromSC : public VecClassifier
{
    protected:

    public:
 
	/** use this constructor to teach the new classifier */
	VCLearnFromSC ( const NICE::Config *conf );

	/** simple destructor */
	virtual ~VCLearnFromSC();
     
	/** classify using simple vector */
	// refactor-nice.pl: check this substitution
	// old: virtual ClassificationResult classify ( const ice::Vector & x ) const = 0;
	virtual ClassificationResult classify ( const NICE::Vector & x ) const = 0;

	virtual void preTeach ( const LabeledSetVector & teachSet ) = 0;

	virtual void teach ( const LabeledSetVector & teachSet ) = 0;

	virtual void finishTeaching() = 0;
};


} // namespace

#endif
