ObjectRecognitionWrapper.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::Helpers
17 * @author Kai Welke ( welke at kit dot edu)
18 * @date 2013
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22 
23 #pragma once
24 
25 // MemoryX
30 
31 // IVT
32 #include <Structs/ObjectDefinitions.h>
33 
34 // Eigen
35 #include <Eigen/Eigen>
36 
38 {
39  // maybe at type template to AbstractEntityWrapper to check for entity
41  {
42  public:
43  std::string getRecognitionMethod() const;
44  void setRecognitionMethod(const std::string& recognitionMethod);
45 
46  std::string getDefaultMotionModel() const;
47  void setDefaultMotionModel(const std::string& defaultMotionModel);
48 
49  LocalizationQueryList getLocalizationQueries();
50  void addLocalizationQuery(const LocalizationQueryPtr& query);
51  void removeLocalizationQuery(const std::string& queryName);
52  void updateLocalizationQuery(const std::string& queryName, const LocalizationQueryPtr& query);
53  Ice::ObjectPtr ice_clone() const override;
54  };
55 
57 
58 
59 
60 
61 
62  /**
63  * TexturedRecognitionWrapper offers a simplified access to the data of an object class or instance
64  * related to IVT TextureRecognition
65  */
67  {
68  public:
69  /**
70  * Constructs new TexturedRecognitionWrapper.
71  *
72  * @param gfm GridFileManager to store/load files
73  *
74  */
76 
77  std::string getFeatureFile() const;
78  void setFeatureFile(const std::string& featureFileName, const std::string& filesDBName);
79  Ice::ObjectPtr ice_clone() const override;
80  };
81 
83 
84 
85  /**
86  * SegmentableRecognitionWrapper offers a simplified access to the data of an object class or instance
87  * related to IVT SegmentableRecognition
88  */
90  {
91  public:
92  /**
93  * Constructs new SegmentableRecognitionWrapper.
94  *
95  * @param gfm GridFileManager to store/load files
96  *
97  */
99 
100  std::string getDataFiles() const;
101  void setDataFiles(const std::string& dataPath, const std::string& filesDBName);
102 
103  ObjectColor getObjectColor() const;
104  void setObjectColor(const ObjectColor& color);
105  Ice::ObjectPtr ice_clone() const override;
106  };
107 
109 
110 
111 
112  /**
113  * HandMarkerBallWrapper offers a simplified access to the necessary information for localization of the
114  * hand markers of Armar III
115  */
117  {
118  public:
119  /**
120  * Constructs new HandMarkerBallWrapper.
121  *
122  * @param gfm GridFileManager to store/load files
123  *
124  */
126 
127  ObjectColor getObjectColor() const;
128  void setObjectColor(const ObjectColor& color);
129  Ice::ObjectPtr ice_clone() const override;
130  };
131 
133 
134 
135 
136  /**
137  * ArMarkerWrapper offers a simplified access to the necessary information for localization of AR markers
138  */
140  {
141  public:
142  /**
143  * Constructs new ArMarkerWrapper.
144  *
145  * @param gfm GridFileManager to store/load files
146  *
147  */
149 
150  std::vector<int> getArMarkerIDs() const;
151  void setArMarkerIDs(const std::vector<int>& newMarkerIDs);
152 
153  std::vector<float> getArMarkerSizes() const;
154  void setArMarkerSizes(const std::vector<float>& newMarkerSizes);
155 
156  std::vector<Eigen::Vector3f> getTransformationToCenterTranslations() const;
157  void setTransformationToCenterTranslations(const std::vector<Eigen::Vector3f>& newTranslations);
158 
159  std::vector<Eigen::Vector3f> getTransformationToCenterRotationsRPY() const;
160  void setTransformationToCenterRotationsRPY(const std::vector<Eigen::Vector3f>& newRotations);
161 
162  std::vector<Eigen::Matrix4f> getTransformationsToCenter() const;
163 
164  Ice::ObjectPtr ice_clone() const override;
165  };
166 
168 
169 
170 
171  /**
172  * PointCloudLocalizerWrapper offers a simplified access to the necessary information for localization using colored pointclouds
173  */
175  {
176  public:
177  /**
178  * Constructs new PointCloudLocalizerWrapper.
179  *
180  * @param gfm GridFileManager to store/load files
181  *
182  */
184 
185  std::string getPointCloudFileName() const;
186  void setPointCloudFileName(const std::string& fileName, const std::string& filesDBName);
187 
188  void getExpectedMatchingDistance(float& expectedMatchDistance, float& mismatchDistance);
189  void setExpectedMatchingDistance(const float expectedMatchDistance, const float mismatchDistance);
190 
191  Ice::ObjectPtr ice_clone() const override;
192  };
193 
195 
196 
197 }
memoryx::EntityWrappers::PointCloudLocalizerWrapper::getPointCloudFileName
std::string getPointCloudFileName() const
Definition: ObjectRecognitionWrapper.cpp:525
memoryx::EntityWrappers::SegmentableRecognitionWrapper::getDataFiles
std::string getDataFiles() const
Definition: ObjectRecognitionWrapper.cpp:238
memoryx::EntityWrappers::ArMarkerWrapper::getArMarkerIDs
std::vector< int > getArMarkerIDs() const
Definition: ObjectRecognitionWrapper.cpp:332
memoryx::EntityWrappers::TexturedRecognitionWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:226
memoryx::EntityWrappers::ArMarkerWrapper::getTransformationToCenterTranslations
std::vector< Eigen::Vector3f > getTransformationToCenterTranslations() const
Definition: ObjectRecognitionWrapper.cpp:400
memoryx::EntityWrappers::PointCloudLocalizerWrapper::setExpectedMatchingDistance
void setExpectedMatchingDistance(const float expectedMatchDistance, const float mismatchDistance)
Definition: ObjectRecognitionWrapper.cpp:566
memoryx::EntityWrappers::ObjectRecognitionWrapper::updateLocalizationQuery
void updateLocalizationQuery(const std::string &queryName, const LocalizationQueryPtr &query)
Definition: ObjectRecognitionWrapper.cpp:157
memoryx::EntityWrappers::ArMarkerWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:512
memoryx::EntityWrappers::HandMarkerBallWrapper::HandMarkerBallWrapper
HandMarkerBallWrapper(const GridFileManagerPtr &gfm)
Constructs new HandMarkerBallWrapper.
Definition: ObjectRecognitionWrapper.cpp:297
memoryx::EntityWrappers::SegmentableRecognitionWrapper::SegmentableRecognitionWrapper
SegmentableRecognitionWrapper(const GridFileManagerPtr &gfm)
Constructs new SegmentableRecognitionWrapper.
Definition: ObjectRecognitionWrapper.cpp:233
memoryx::EntityWrappers::ObjectRecognitionWrapper::addLocalizationQuery
void addLocalizationQuery(const LocalizationQueryPtr &query)
Definition: ObjectRecognitionWrapper.cpp:100
memoryx::EntityWrappers::SegmentableRecognitionWrapper::getObjectColor
ObjectColor getObjectColor() const
Definition: ObjectRecognitionWrapper.cpp:274
memoryx::EntityWrappers::SegmentableRecognitionWrapper::setObjectColor
void setObjectColor(const ObjectColor &color)
Definition: ObjectRecognitionWrapper.cpp:284
memoryx::EntityWrappers::PointCloudLocalizerWrapper::setPointCloudFileName
void setPointCloudFileName(const std::string &fileName, const std::string &filesDBName)
Definition: ObjectRecognitionWrapper.cpp:537
memoryx::EntityWrappers::ArMarkerWrapper::setTransformationToCenterRotationsRPY
void setTransformationToCenterRotationsRPY(const std::vector< Eigen::Vector3f > &newRotations)
Definition: ObjectRecognitionWrapper.cpp:467
GridFileManager.h
memoryx::EntityWrappers::TexturedRecognitionWrapper::setFeatureFile
void setFeatureFile(const std::string &featureFileName, const std::string &filesDBName)
Definition: ObjectRecognitionWrapper.cpp:215
LocalizationQuery.h
memoryx::EntityWrappers::ArMarkerWrapper::getArMarkerSizes
std::vector< float > getArMarkerSizes() const
Definition: ObjectRecognitionWrapper.cpp:366
memoryx::EntityWrappers::ObjectRecognitionWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:193
memoryx::EntityWrappers::ArMarkerWrapper::setArMarkerSizes
void setArMarkerSizes(const std::vector< float > &newMarkerSizes)
Definition: ObjectRecognitionWrapper.cpp:388
memoryx::EntityWrappers::SegmentableRecognitionWrapper
SegmentableRecognitionWrapper offers a simplified access to the data of an object class or instance r...
Definition: ObjectRecognitionWrapper.h:89
memoryx::EntityWrappers::TexturedRecognitionWrapper::TexturedRecognitionWrapper
TexturedRecognitionWrapper(const GridFileManagerPtr &gfm)
Constructs new TexturedRecognitionWrapper.
Definition: ObjectRecognitionWrapper.cpp:199
memoryx::EntityWrappers::ObjectRecognitionWrapper::getLocalizationQueries
LocalizationQueryList getLocalizationQueries()
Definition: ObjectRecognitionWrapper.cpp:114
memoryx::EntityWrappers::ArMarkerWrapper::setArMarkerIDs
void setArMarkerIDs(const std::vector< int > &newMarkerIDs)
Definition: ObjectRecognitionWrapper.cpp:354
memoryx::EntityWrappers::AbstractEntityWrapper
AbstractEntityWrapper is a superclass for all covenience classes, which provide typed access to entit...
Definition: AbstractEntityWrapper.h:47
memoryx::EntityWrappers::SegmentableRecognitionWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:291
IceInternal::Handle
Definition: forward_declarations.h:8
memoryx::EntityWrappers::PointCloudLocalizerWrapper::PointCloudLocalizerWrapper
PointCloudLocalizerWrapper(const GridFileManagerPtr &gfm)
Constructs new PointCloudLocalizerWrapper.
Definition: ObjectRecognitionWrapper.cpp:519
memoryx::EntityWrappers::ArMarkerWrapper::getTransformationsToCenter
std::vector< Eigen::Matrix4f > getTransformationsToCenter() const
Definition: ObjectRecognitionWrapper.cpp:480
memoryx::EntityWrappers::ArMarkerWrapper::ArMarkerWrapper
ArMarkerWrapper(const GridFileManagerPtr &gfm)
Constructs new ArMarkerWrapper.
Definition: ObjectRecognitionWrapper.cpp:327
memoryx::EntityWrappers::ArMarkerWrapper::getTransformationToCenterRotationsRPY
std::vector< Eigen::Vector3f > getTransformationToCenterRotationsRPY() const
Definition: ObjectRecognitionWrapper.cpp:440
memoryx::EntityWrappers::AbstractFileEntityWrapper
Definition: AbstractEntityWrapper.h:82
memoryx::EntityWrappers::TexturedRecognitionWrapper
TexturedRecognitionWrapper offers a simplified access to the data of an object class or instance rela...
Definition: ObjectRecognitionWrapper.h:66
AbstractEntityWrapper.h
memoryx::EntityWrappers::HandMarkerBallWrapper::getObjectColor
ObjectColor getObjectColor() const
Definition: ObjectRecognitionWrapper.cpp:302
memoryx::EntityWrappers::PointCloudLocalizerWrapper
PointCloudLocalizerWrapper offers a simplified access to the necessary information for localization u...
Definition: ObjectRecognitionWrapper.h:174
memoryx::EntityWrappers::ObjectRecognitionWrapper::setRecognitionMethod
void setRecognitionMethod(const std::string &recognitionMethod)
Definition: ObjectRecognitionWrapper.cpp:80
memoryx::EntityWrappers::PointCloudLocalizerWrapper::getExpectedMatchingDistance
void getExpectedMatchingDistance(float &expectedMatchDistance, float &mismatchDistance)
Definition: ObjectRecognitionWrapper.cpp:549
memoryx::EntityWrappers::ArMarkerWrapper::setTransformationToCenterTranslations
void setTransformationToCenterTranslations(const std::vector< Eigen::Vector3f > &newTranslations)
Definition: ObjectRecognitionWrapper.cpp:427
memoryx::EntityWrappers::ObjectRecognitionWrapper::getDefaultMotionModel
std::string getDefaultMotionModel() const
Definition: ObjectRecognitionWrapper.cpp:70
memoryx::EntityWrappers::ObjectRecognitionWrapper::removeLocalizationQuery
void removeLocalizationQuery(const std::string &queryName)
Definition: ObjectRecognitionWrapper.cpp:134
memoryx::EntityWrappers
Definition: AbstractEntityWrapper.cpp:28
memoryx::GridFileManagerPtr
std::shared_ptr< GridFileManager > GridFileManagerPtr
Definition: AbstractEntityWrapper.h:32
memoryx::EntityWrappers::TexturedRecognitionWrapper::getFeatureFile
std::string getFeatureFile() const
Definition: ObjectRecognitionWrapper.cpp:204
memoryx::EntityWrappers::ObjectRecognitionWrapper
Definition: ObjectRecognitionWrapper.h:40
memoryx::EntityWrappers::ObjectRecognitionWrapper::setDefaultMotionModel
void setDefaultMotionModel(const std::string &defaultMotionModel)
Definition: ObjectRecognitionWrapper.cpp:90
memoryx::EntityWrappers::ObjectRecognitionWrapper::getRecognitionMethod
std::string getRecognitionMethod() const
Definition: ObjectRecognitionWrapper.cpp:60
MemoryXTypesObjectFactories.h
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
memoryx::EntityWrappers::HandMarkerBallWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:321
memoryx::EntityWrappers::ArMarkerWrapper
ArMarkerWrapper offers a simplified access to the necessary information for localization of AR marker...
Definition: ObjectRecognitionWrapper.h:139
memoryx::EntityWrappers::SegmentableRecognitionWrapper::setDataFiles
void setDataFiles(const std::string &dataPath, const std::string &filesDBName)
Definition: ObjectRecognitionWrapper.cpp:259
memoryx::EntityWrappers::HandMarkerBallWrapper::setObjectColor
void setObjectColor(const ObjectColor &color)
Definition: ObjectRecognitionWrapper.cpp:314
memoryx::EntityWrappers::HandMarkerBallWrapper
HandMarkerBallWrapper offers a simplified access to the necessary information for localization of the...
Definition: ObjectRecognitionWrapper.h:116
memoryx::EntityWrappers::PointCloudLocalizerWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:577