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,
53  const LocalizationQueryPtr& query);
54  Ice::ObjectPtr ice_clone() const override;
55  };
56 
58 
59  /**
60  * TexturedRecognitionWrapper offers a simplified access to the data of an object class or instance
61  * related to IVT TextureRecognition
62  */
64  {
65  public:
66  /**
67  * Constructs new TexturedRecognitionWrapper.
68  *
69  * @param gfm GridFileManager to store/load files
70  *
71  */
73 
74  std::string getFeatureFile() const;
75  void setFeatureFile(const std::string& featureFileName, const std::string& filesDBName);
76  Ice::ObjectPtr ice_clone() const override;
77  };
78 
80 
81  /**
82  * SegmentableRecognitionWrapper offers a simplified access to the data of an object class or instance
83  * related to IVT SegmentableRecognition
84  */
86  {
87  public:
88  /**
89  * Constructs new SegmentableRecognitionWrapper.
90  *
91  * @param gfm GridFileManager to store/load files
92  *
93  */
95 
96  std::string getDataFiles() const;
97  void setDataFiles(const std::string& dataPath, const std::string& filesDBName);
98 
99  ObjectColor getObjectColor() const;
100  void setObjectColor(const ObjectColor& color);
101  Ice::ObjectPtr ice_clone() const override;
102  };
103 
105 
106  /**
107  * HandMarkerBallWrapper offers a simplified access to the necessary information for localization of the
108  * hand markers of Armar III
109  */
111  {
112  public:
113  /**
114  * Constructs new HandMarkerBallWrapper.
115  *
116  * @param gfm GridFileManager to store/load files
117  *
118  */
120 
121  ObjectColor getObjectColor() const;
122  void setObjectColor(const ObjectColor& color);
123  Ice::ObjectPtr ice_clone() const override;
124  };
125 
127 
128  /**
129  * ArMarkerWrapper offers a simplified access to the necessary information for localization of AR markers
130  */
132  {
133  public:
134  /**
135  * Constructs new ArMarkerWrapper.
136  *
137  * @param gfm GridFileManager to store/load files
138  *
139  */
141 
142  std::vector<int> getArMarkerIDs() const;
143  void setArMarkerIDs(const std::vector<int>& newMarkerIDs);
144 
145  std::vector<float> getArMarkerSizes() const;
146  void setArMarkerSizes(const std::vector<float>& newMarkerSizes);
147 
148  std::vector<Eigen::Vector3f> getTransformationToCenterTranslations() const;
149  void
150  setTransformationToCenterTranslations(const std::vector<Eigen::Vector3f>& newTranslations);
151 
152  std::vector<Eigen::Vector3f> getTransformationToCenterRotationsRPY() const;
153  void
154  setTransformationToCenterRotationsRPY(const std::vector<Eigen::Vector3f>& newRotations);
155 
156  std::vector<Eigen::Matrix4f> getTransformationsToCenter() const;
157 
158  Ice::ObjectPtr ice_clone() const override;
159  };
160 
162 
163  /**
164  * PointCloudLocalizerWrapper offers a simplified access to the necessary information for localization using colored pointclouds
165  */
167  {
168  public:
169  /**
170  * Constructs new PointCloudLocalizerWrapper.
171  *
172  * @param gfm GridFileManager to store/load files
173  *
174  */
176 
177  std::string getPointCloudFileName() const;
178  void setPointCloudFileName(const std::string& fileName, const std::string& filesDBName);
179 
180  void getExpectedMatchingDistance(float& expectedMatchDistance, float& mismatchDistance);
181  void setExpectedMatchingDistance(const float expectedMatchDistance,
182  const float mismatchDistance);
183 
184  Ice::ObjectPtr ice_clone() const override;
185  };
186 
188 
189 
190 } // namespace memoryx::EntityWrappers
memoryx::EntityWrappers::PointCloudLocalizerWrapper::getPointCloudFileName
std::string getPointCloudFileName() const
Definition: ObjectRecognitionWrapper.cpp:581
memoryx::EntityWrappers::SegmentableRecognitionWrapper::getDataFiles
std::string getDataFiles() const
Definition: ObjectRecognitionWrapper.cpp:259
memoryx::EntityWrappers::ArMarkerWrapper::getArMarkerIDs
std::vector< int > getArMarkerIDs() const
Definition: ObjectRecognitionWrapper.cpp:365
memoryx::EntityWrappers::TexturedRecognitionWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:248
memoryx::EntityWrappers::ArMarkerWrapper::getTransformationToCenterTranslations
std::vector< Eigen::Vector3f > getTransformationToCenterTranslations() const
Definition: ObjectRecognitionWrapper.cpp:438
memoryx::EntityWrappers::PointCloudLocalizerWrapper::setExpectedMatchingDistance
void setExpectedMatchingDistance(const float expectedMatchDistance, const float mismatchDistance)
Definition: ObjectRecognitionWrapper.cpp:627
memoryx::EntityWrappers::ObjectRecognitionWrapper::updateLocalizationQuery
void updateLocalizationQuery(const std::string &queryName, const LocalizationQueryPtr &query)
Definition: ObjectRecognitionWrapper.cpp:173
memoryx::EntityWrappers::ArMarkerWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:570
memoryx::EntityWrappers::HandMarkerBallWrapper::HandMarkerBallWrapper
HandMarkerBallWrapper(const GridFileManagerPtr &gfm)
Constructs new HandMarkerBallWrapper.
Definition: ObjectRecognitionWrapper.cpp:326
memoryx::EntityWrappers::SegmentableRecognitionWrapper::SegmentableRecognitionWrapper
SegmentableRecognitionWrapper(const GridFileManagerPtr &gfm)
Constructs new SegmentableRecognitionWrapper.
Definition: ObjectRecognitionWrapper.cpp:253
memoryx::EntityWrappers::ObjectRecognitionWrapper::addLocalizationQuery
void addLocalizationQuery(const LocalizationQueryPtr &query)
Definition: ObjectRecognitionWrapper.cpp:108
memoryx::EntityWrappers::SegmentableRecognitionWrapper::getObjectColor
ObjectColor getObjectColor() const
Definition: ObjectRecognitionWrapper.cpp:300
memoryx::EntityWrappers::SegmentableRecognitionWrapper::setObjectColor
void setObjectColor(const ObjectColor &color)
Definition: ObjectRecognitionWrapper.cpp:313
memoryx::EntityWrappers::PointCloudLocalizerWrapper::setPointCloudFileName
void setPointCloudFileName(const std::string &fileName, const std::string &filesDBName)
Definition: ObjectRecognitionWrapper.cpp:593
memoryx::EntityWrappers::ArMarkerWrapper::setTransformationToCenterRotationsRPY
void setTransformationToCenterRotationsRPY(const std::vector< Eigen::Vector3f > &newRotations)
Definition: ObjectRecognitionWrapper.cpp:515
GridFileManager.h
memoryx::EntityWrappers::TexturedRecognitionWrapper::setFeatureFile
void setFeatureFile(const std::string &featureFileName, const std::string &filesDBName)
Definition: ObjectRecognitionWrapper.cpp:235
LocalizationQuery.h
memoryx::EntityWrappers::ArMarkerWrapper::getArMarkerSizes
std::vector< float > getArMarkerSizes() const
Definition: ObjectRecognitionWrapper.cpp:401
memoryx::EntityWrappers::ObjectRecognitionWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:212
memoryx::EntityWrappers::ArMarkerWrapper::setArMarkerSizes
void setArMarkerSizes(const std::vector< float > &newMarkerSizes)
Definition: ObjectRecognitionWrapper.cpp:425
memoryx::EntityWrappers::SegmentableRecognitionWrapper
SegmentableRecognitionWrapper offers a simplified access to the data of an object class or instance r...
Definition: ObjectRecognitionWrapper.h:85
memoryx::EntityWrappers::TexturedRecognitionWrapper::TexturedRecognitionWrapper
TexturedRecognitionWrapper(const GridFileManagerPtr &gfm)
Constructs new TexturedRecognitionWrapper.
Definition: ObjectRecognitionWrapper.cpp:217
memoryx::EntityWrappers::ObjectRecognitionWrapper::getLocalizationQueries
LocalizationQueryList getLocalizationQueries()
Definition: ObjectRecognitionWrapper.cpp:126
memoryx::EntityWrappers::ArMarkerWrapper::setArMarkerIDs
void setArMarkerIDs(const std::vector< int > &newMarkerIDs)
Definition: ObjectRecognitionWrapper.cpp:388
memoryx::EntityWrappers::AbstractEntityWrapper
AbstractEntityWrapper is a superclass for all covenience classes, which provide typed access to entit...
Definition: AbstractEntityWrapper.h:48
memoryx::EntityWrappers::SegmentableRecognitionWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:321
IceInternal::Handle
Definition: forward_declarations.h:8
memoryx::EntityWrappers::PointCloudLocalizerWrapper::PointCloudLocalizerWrapper
PointCloudLocalizerWrapper(const GridFileManagerPtr &gfm)
Constructs new PointCloudLocalizerWrapper.
Definition: ObjectRecognitionWrapper.cpp:575
memoryx::EntityWrappers::ArMarkerWrapper::getTransformationsToCenter
std::vector< Eigen::Matrix4f > getTransformationsToCenter() const
Definition: ObjectRecognitionWrapper.cpp:530
memoryx::EntityWrappers::ArMarkerWrapper::ArMarkerWrapper
ArMarkerWrapper(const GridFileManagerPtr &gfm)
Constructs new ArMarkerWrapper.
Definition: ObjectRecognitionWrapper.cpp:360
memoryx::EntityWrappers::ArMarkerWrapper::getTransformationToCenterRotationsRPY
std::vector< Eigen::Vector3f > getTransformationToCenterRotationsRPY() const
Definition: ObjectRecognitionWrapper.cpp:484
memoryx::EntityWrappers::AbstractFileEntityWrapper
Definition: AbstractEntityWrapper.h:81
memoryx::EntityWrappers::TexturedRecognitionWrapper
TexturedRecognitionWrapper offers a simplified access to the data of an object class or instance rela...
Definition: ObjectRecognitionWrapper.h:63
AbstractEntityWrapper.h
memoryx::EntityWrappers::HandMarkerBallWrapper::getObjectColor
ObjectColor getObjectColor() const
Definition: ObjectRecognitionWrapper.cpp:332
memoryx::EntityWrappers::PointCloudLocalizerWrapper
PointCloudLocalizerWrapper offers a simplified access to the necessary information for localization u...
Definition: ObjectRecognitionWrapper.h:166
memoryx::EntityWrappers::ObjectRecognitionWrapper::setRecognitionMethod
void setRecognitionMethod(const std::string &recognitionMethod)
Definition: ObjectRecognitionWrapper.cpp:85
memoryx::EntityWrappers::PointCloudLocalizerWrapper::getExpectedMatchingDistance
void getExpectedMatchingDistance(float &expectedMatchDistance, float &mismatchDistance)
Definition: ObjectRecognitionWrapper.cpp:606
memoryx::EntityWrappers::ArMarkerWrapper::setTransformationToCenterTranslations
void setTransformationToCenterTranslations(const std::vector< Eigen::Vector3f > &newTranslations)
Definition: ObjectRecognitionWrapper.cpp:469
memoryx::EntityWrappers::ObjectRecognitionWrapper::getDefaultMotionModel
std::string getDefaultMotionModel() const
Definition: ObjectRecognitionWrapper.cpp:72
memoryx::EntityWrappers::ObjectRecognitionWrapper::removeLocalizationQuery
void removeLocalizationQuery(const std::string &queryName)
Definition: ObjectRecognitionWrapper.cpp:148
memoryx::EntityWrappers
Definition: AbstractEntityWrapper.cpp:30
memoryx::GridFileManagerPtr
std::shared_ptr< GridFileManager > GridFileManagerPtr
Definition: AbstractEntityWrapper.h:33
memoryx::EntityWrappers::TexturedRecognitionWrapper::getFeatureFile
std::string getFeatureFile() const
Definition: ObjectRecognitionWrapper.cpp:223
memoryx::EntityWrappers::ObjectRecognitionWrapper
Definition: ObjectRecognitionWrapper.h:40
memoryx::EntityWrappers::ObjectRecognitionWrapper::setDefaultMotionModel
void setDefaultMotionModel(const std::string &defaultMotionModel)
Definition: ObjectRecognitionWrapper.cpp:97
memoryx::EntityWrappers::ObjectRecognitionWrapper::getRecognitionMethod
std::string getRecognitionMethod() const
Definition: ObjectRecognitionWrapper.cpp:59
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:355
memoryx::EntityWrappers::ArMarkerWrapper
ArMarkerWrapper offers a simplified access to the necessary information for localization of AR marker...
Definition: ObjectRecognitionWrapper.h:131
memoryx::EntityWrappers::SegmentableRecognitionWrapper::setDataFiles
void setDataFiles(const std::string &dataPath, const std::string &filesDBName)
Definition: ObjectRecognitionWrapper.cpp:282
memoryx::EntityWrappers::HandMarkerBallWrapper::setObjectColor
void setObjectColor(const ObjectColor &color)
Definition: ObjectRecognitionWrapper.cpp:347
memoryx::EntityWrappers::HandMarkerBallWrapper
HandMarkerBallWrapper offers a simplified access to the necessary information for localization of the...
Definition: ObjectRecognitionWrapper.h:110
memoryx::EntityWrappers::PointCloudLocalizerWrapper::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: ObjectRecognitionWrapper.cpp:640