00001 00002 /* 00003 * Copyright (C) 2009 by Ulrich Friedrich Klank <klank@in.tum.de> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 3 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00018 00019 00020 /************************************************************************ 00021 AttentionAlgorithm.h - Copyright klank 00022 00023 00024 **************************************************************************/ 00025 00026 00027 #ifndef ATTENTIONALGORITHM_H 00028 #define ATTENTIONALGORITHM_H 00029 #include "Algorithm.h" 00030 #include "Reading.h" 00031 00032 #include <string> 00033 #include <vector> 00034 00035 00036 namespace cop 00037 { 00042 class AttentionAlgorithm : public Algorithm<std::vector<Signature*> > 00043 { 00044 public: 00045 00046 // Constructors/Destructors 00047 // 00048 static AttentionAlgorithm* AttentionAlgFactory(XMLTag* tag); 00049 00053 AttentionAlgorithm (){}; 00054 00058 virtual ~AttentionAlgorithm ( ){}; 00059 00070 virtual std::vector<Signature*> Perform(std::vector<Sensor*> sensors, RelPose* pose, Signature& prototype, int &numOfObjects, double& qualityMeasure) = 0;//{throw "Perform for AttentionAlgorithm not implemented\n";} 00071 00072 virtual double CheckSignature(const Signature& object, const std::vector<Sensor*> &sensors){return 0.0;} 00073 00074 virtual XMLTag* Save() = 0; 00075 virtual void SetData(XMLTag* tag){} 00076 00077 }; 00078 00079 } 00080 #endif // ATTENTIONALGORITHM_H 00081