/** * @file MultipleKernelData.h * @author Erik Rodner * @date 01/19/2010 */ #ifndef _NICE_OBJREC_MULTIPLEKERNELDATAINCLUDE #define _NICE_OBJREC_MULTIPLEKERNELDATAINCLUDE #include #include "KernelData.h" namespace OBJREC { /** @class MultipleKernelData * caching multiple kernel data objects * * @author Erik Rodner */ class MultipleKernelData : public KernelData { protected: std::vector multipleKernelData; public: /** copy constructor */ MultipleKernelData ( const MultipleKernelData & src ); /** simple constructor */ MultipleKernelData( const NICE::Config *conf, const std::string & section = "Kernel" ); MultipleKernelData( const NICE::Config *conf, const NICE::Matrix & kernelMatrix, const std::string & section = "Kernel" ); /** simple destructor, does not delete all inner kernel data objects ! */ virtual ~MultipleKernelData(); std::vector & kernelData() { return multipleKernelData; }; const KernelData* getSingleKernelData( uint i ) const; /** delete all inner kernel data objects */ void destroy (void); MultipleKernelData *clone(void) const; }; } #endif