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();
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
std::vector< Eigen::Matrix4f > getTransformationsToCenter() const
ArMarkerWrapper(const GridFileManagerPtr &gfm)
Constructs new ArMarkerWrapper.
std::vector< Eigen::Vector3f > getTransformationToCenterTranslations() const
void setTransformationToCenterRotationsRPY(const std::vector< Eigen::Vector3f > &newRotations)
void setArMarkerIDs(const std::vector< int > &newMarkerIDs)
std::vector< Eigen::Vector3f > getTransformationToCenterRotationsRPY() const
void setTransformationToCenterTranslations(const std::vector< Eigen::Vector3f > &newTranslations)
void setArMarkerSizes(const std::vector< float > &newMarkerSizes)
HandMarkerBallWrapper(const GridFileManagerPtr &gfm)
Constructs new HandMarkerBallWrapper.
void setDefaultMotionModel(const std::string &defaultMotionModel)
void addLocalizationQuery(const LocalizationQueryPtr &query)
void updateLocalizationQuery(const std::string &queryName, const LocalizationQueryPtr &query)
void setRecognitionMethod(const std::string &recognitionMethod)
PointCloudLocalizerWrapper(const GridFileManagerPtr &gfm)
Constructs new PointCloudLocalizerWrapper.
void setPointCloudFileName(const std::string &fileName, const std::string &filesDBName)
void getExpectedMatchingDistance(float &expectedMatchDistance, float &mismatchDistance)
void setExpectedMatchingDistance(const float expectedMatchDistance, const float mismatchDistance)
SegmentableRecognitionWrapper(const GridFileManagerPtr &gfm)
Constructs new SegmentableRecognitionWrapper.
void setDataFiles(const std::string &dataPath, const std::string &filesDBName)
void setFeatureFile(const std::string &featureFileName, const std::string &filesDBName)
TexturedRecognitionWrapper(const GridFileManagerPtr &gfm)
Constructs new TexturedRecognitionWrapper.
IceInternal::Handle< SegmentableRecognitionWrapper > SegmentableRecognitionWrapperPtr
IceInternal::Handle< ObjectRecognitionWrapper > ObjectRecognitionWrapperPtr
IceInternal::Handle< PointCloudLocalizerWrapper > PointCloudLocalizerWrapperPtr
IceInternal::Handle< TexturedRecognitionWrapper > TexturedRecognitionWrapperPtr
IceInternal::Handle< ArMarkerWrapper > ArMarkerWrapperPtr
IceInternal::Handle< HandMarkerBallWrapper > HandMarkerBallWrapperPtr
IceInternal::Handle< LocalizationQuery > LocalizationQueryPtr
std::shared_ptr< GridFileManager > GridFileManagerPtr