31#include <RobotAPI/interface/core/RobotState.h>
48 recognitionMethod(recognitionMethod)
50 robotPose =
new armarx::Pose(Eigen::Matrix4f::Identity());
57 if (this->robotStatePrx)
59 this->robotStatePrx->unref();
72 std::vector<std::string> jobClassNames = job->getClassNamesToBeLocalized();
74 for (std::vector<std::string>::iterator iterNames = jobClassNames.begin();
75 iterNames != jobClassNames.end();
78 classNamesUnique.insert(*iterNames);
88 for (LocalizationJobList::iterator iter = jobs.begin(); iter != jobs.end(); iter++)
103 for (LocalizationJobList::iterator iter = jobs.begin(); iter != jobs.end(); iter++)
105 (*iter)->setFinished();
109 std::vector<std::string>
112 std::vector<std::string> classNames;
114 classNamesUnique.begin(), classNamesUnique.end(), std::back_inserter(classNames));
119 std::vector<LocalizationQueryPtr>
122 std::vector<LocalizationQueryPtr> queries;
124 for (LocalizationJobList::iterator iter = jobs.begin(); iter != jobs.end(); iter++)
126 queries.push_back((*iter)->getQuery());
135 return recognitionMethod;
141 if (this->robotStatePrx)
143 this->robotStatePrx->unref();
146 this->robotStatePrx = robotStatePrx;
148 if (this->robotStatePrx)
150 this->robotStatePrx->ref();
157 return robotStatePrx;
163 this->robotPose = robotPose;
175 std::set<std::string> classNamesUnique;
176 std::string recognitionMethod;
void addJob(const LocalizationJobPtr &job)
void setRobotPose(const armarx::PosePtr &robotPose)
~LocalizationJobContainer() override
void setRobotState(const armarx::SharedRobotInterfacePrx &robotStatePrx)
std::vector< std::string > getClassNamesUnique()
std::string getRecognitionMethod()
std::vector< LocalizationQueryPtr > getQueries()
void startJobs()
startJobs calls the LocalizationJob::start() method on all jobs added via LocalizationJobContainer::a...
armarx::SharedRobotInterfacePrx getRobotState()
LocalizationJobContainer(const std::string &recognitionMethod)
void finishJobs()
finishJobs sets the finished property of all localization jobs to true
armarx::PosePtr getRobotPose()
The LocalizationQuery class is used to create LocalizationJob instances and provide an interface to q...
IceInternal::Handle< Pose > PosePtr
::IceInternal::ProxyHandle<::IceProxy::armarx::SharedRobotInterface > SharedRobotInterfacePrx
IceUtil::Handle< LocalizationJobContainer > LocalizationJobContainerPtr
IceInternal::Handle< LocalizationQuery > LocalizationQueryPtr
std::vector< LocalizationJobPtr > LocalizationJobList
IceUtil::Handle< LocalizationJob > LocalizationJobPtr