LocalizationJob.h
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* ArmarX is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License version 2 as
6* published by the Free Software Foundation.
7*
8* ArmarX is distributed in the hope that it will be useful, but
9* WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* @package MemoryX::Core
17* @author Kai Welke <welke@kit.edu>
18* @copyright 2012 Kai Welke
19* @license http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#pragma once
24
25#include <string>
26
27#include <Ice/Ice.h>
28#include <IceUtil/Handle.h>
29
31
32#include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
34
35namespace memoryx
36{
38
39 /**
40 * @brief The LocalizationJob class is the description of the basic workload executed by ObjectLocalizationMemoryUpdater
41 *
42 * It describes which object classes to localize, which method to use, and which LocalizationQuery instance the job belongs to.
43 */
44 class LocalizationJob : public Ice::LocalObject
45 {
46 public:
48 std::string recognitionMethod,
49 const std::vector<std::string>& classNames);
50
51 virtual void
53 {
54 }
55
56 virtual bool waiting() = 0;
57
58 std::string getRecognitionMethod();
59 std::vector<std::string> getAllClassNames();
60 std::vector<std::string> getClassNamesToBeLocalized();
61 void setClassNamesToBeLocalized(const std::vector<std::string>& classNamesToBeLocalized);
62 std::string getQueryName();
64
65 void setFinished();
66
67 private:
69 std::vector<std::string> classNames;
70 std::vector<std::string> classNamesToBeLocalized;
71 std::string recognitionMethod;
72 };
73
75 using LocalizationJobList = std::vector<LocalizationJobPtr>;
76} // namespace memoryx
The LocalizationJob class is the description of the basic workload executed by ObjectLocalizationMemo...
std::vector< std::string > getAllClassNames()
std::vector< std::string > getClassNamesToBeLocalized()
void setClassNamesToBeLocalized(const std::vector< std::string > &classNamesToBeLocalized)
virtual bool waiting()=0
IceInternal::Handle< LocalizationQuery > getQuery()
void init(IceInternal::Handle< LocalizationQuery > query, std::string recognitionMethod, const std::vector< std::string > &classNames)
The LocalizationQuery class is used to create LocalizationJob instances and provide an interface to q...
VirtualRobot headers.
std::vector< LocalizationJobPtr > LocalizationJobList
IceUtil::Handle< LocalizationJob > LocalizationJobPtr