EnvironmentalPrimitive.cpp
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 Peter Kaiser <peter dot kaiser at kit dot edu>
18 * @date 2014
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22 
23 #include "EnvironmentalPrimitive.h"
24 
25 #include <SimoxUtility/algorithm/string/string_tools.h>
26 
29 
31 
32 namespace memoryx
33 {
35  const std::string& id,
36  const std::string& shape) :
37  Entity()
38  {
39  setName(name);
40  setId(id);
41  setShape(shape);
42  }
43 
44  std::string
45  EnvironmentalPrimitive::getShape(const Ice::Current& c) const
46  {
47  return getAttributeValue("shape")->getString();
48  }
49 
50  armarx::Vector3BasePtr
52  {
53  return getAttributeValue("dimensionsOBB")->getClass<armarx::Vector3Base>();
54  }
55 
56  void
57  memoryx::EnvironmentalPrimitive::setOBBDimensions(const armarx::Vector3BasePtr& dimensions,
58  const Ice::Current&)
59  {
60  putAttribute("dimensionsOBB", dimensions);
61  }
62 
63  armarx::FramedPoseBasePtr
64  memoryx::EnvironmentalPrimitive::getPose(const Ice::Current&) const
65  {
66  return getAttributeValue("pose")->getClass<armarx::FramedPoseBase>();
67  }
68 
69  void
70  memoryx::EnvironmentalPrimitive::setPose(const armarx::FramedPoseBasePtr& pose,
71  const Ice::Current&)
72  {
73  putAttribute("pose", pose);
74  }
75 
76  PointList
78  {
79  auto entity = getAttribute("graspPoints");
80  if (!entity || entity->size() <= 0)
81  {
82  return PointList();
83  }
84 
85  Eigen::MatrixXf m = armarx::VariantPtr::dynamicCast(entity->getValueAt(0))
86  ->getClass<armarx::MatrixFloat>()
87  ->toEigen();
88 
89  PointList result;
90  result.reserve(m.cols());
91 
92  for (unsigned int i = 0; i < m.cols(); i++)
93  {
94  result.push_back(new armarx::Vector3(Eigen::Vector3f(m.block<3, 1>(0, i))));
95  }
96 
97  return result;
98  }
99 
100  void
101  EnvironmentalPrimitive::setGraspPoints(const PointList& graspPoints, const Ice::Current& c)
102  {
103  Eigen::MatrixXf m(3, graspPoints.size());
104 
105  for (unsigned int i = 0; i < graspPoints.size(); i++)
106  {
107  m.block<3, 1>(0, i) = armarx::Vector3Ptr::dynamicCast(graspPoints[i])->toEigen();
108  }
109 
110  armarx::MatrixFloatBasePtr matrix(new armarx::MatrixFloat(m));
111 
112  armarx::VariantPtr variant(new armarx::Variant);
113  variant->set<armarx::MatrixFloat>(matrix);
114 
115  EntityAttributeBasePtr entity = new EntityAttribute("graspPoints");
116  entity->addValue(variant);
117  putAttribute(entity);
118  }
119 
120  PointList
122  {
123  auto entity = getAttribute("inliers");
124  if (!entity || entity->size() <= 0)
125  {
126  return PointList();
127  }
128 
129  Eigen::MatrixXf m = armarx::VariantPtr::dynamicCast(entity->getValueAt(0))
130  ->getClass<armarx::MatrixFloat>()
131  ->toEigen();
132 
133  PointList result;
134  result.reserve(m.cols());
135 
136  for (unsigned int i = 0; i < m.cols(); i++)
137  {
138  result.push_back(new armarx::Vector3(Eigen::Vector3f(m.block<3, 1>(0, i))));
139  }
140 
141  return result;
142  }
143 
144  void
145  EnvironmentalPrimitive::setInliers(const PointList& inliers, const Ice::Current& c)
146  {
147  Eigen::MatrixXf m(3, inliers.size());
148 
149  for (unsigned int i = 0; i < inliers.size(); i++)
150  {
151  m.block<3, 1>(0, i) = armarx::Vector3Ptr::dynamicCast(inliers[i])->toEigen();
152  }
153 
154  armarx::MatrixFloatBasePtr matrix(new armarx::MatrixFloat(m));
155 
156  armarx::VariantPtr variant(new armarx::Variant);
157  variant->set<armarx::MatrixFloat>(matrix);
158 
159  EntityAttributeBasePtr entity = new EntityAttribute("inliers");
160  entity->addValue(variant);
161  putAttribute(entity);
162  }
163 
164  float
166  {
167  return getAttributeValue("probability")->getFloat();
168  }
169 
170  void
171  memoryx::EnvironmentalPrimitive::setProbability(float probability, const Ice::Current&)
172  {
173  putAttribute("probability", probability);
174  }
175 
176  float
178  {
179  return getAttributeValue("circularityprobability")->getFloat();
180  }
181 
182  void
184  const Ice::Current&)
185  {
186  putAttribute("circularityprobability", probability);
187  }
188 
189  float
191  {
192  return getAttributeValue("length")->getFloat();
193  }
194 
195  void
196  memoryx::EnvironmentalPrimitive::setLength(float length, const Ice::Current&)
197  {
198  putAttribute("length", length);
199  }
200 
201  int
202  EnvironmentalPrimitive::getLabel(const Ice::Current& c) const
203  {
204  return getAttributeValue("label")->getInt();
205  }
206 
207  void
208  EnvironmentalPrimitive::setLabel(int label, const Ice::Current& c)
209  {
210  putAttribute("label", label);
211  }
212 
213  armarx::TimestampBasePtr
214  memoryx::EnvironmentalPrimitive::getTime(const Ice::Current&) const
215  {
216  return getAttributeValue("time")->getClass<armarx::TimestampBase>();
217  }
218 
219  void
220  memoryx::EnvironmentalPrimitive::setTime(const armarx::TimestampBasePtr& time,
221  const Ice::Current&)
222  {
223  putAttribute("time", time);
224  }
225 
226  armarx::MatrixFloatBasePtr
227  EnvironmentalPrimitive::getSampling(const Ice::Current& c) const
228  {
229  auto entity = getAttribute("sampling");
230  if (!entity || entity->size() <= 0)
231  {
232  return armarx::MatrixFloatBasePtr(new armarx::MatrixFloat(4, 0));
233  }
234 
235  return armarx::VariantPtr::dynamicCast(entity->getValueAt(0))
236  ->getClass<armarx::MatrixFloat>();
237  }
238 
239  void
240  EnvironmentalPrimitive::setSampling(const armarx::MatrixFloatBasePtr& sampling,
241  const Ice::Current& c)
242  {
243  armarx::VariantPtr variant(new armarx::Variant);
244  variant->set<armarx::MatrixFloat>(sampling);
245 
246  EntityAttributeBasePtr entity = new EntityAttribute("sampling");
247  entity->addValue(variant);
248  putAttribute(entity);
249  }
250 
253  {
254  return this->clone();
255  }
256 
258  EnvironmentalPrimitive::clone(const Ice::Current& c) const
259  {
261  return ret;
262  }
263 
264  void
265  EnvironmentalPrimitive::setShape(const std::string& shape, const Ice::Current& c)
266  {
267  putAttribute("shape", shape);
268  }
269 
270  memoryx::PlanePrimitive::PlanePrimitive(const std::string& name, const std::string& id) :
271  EnvironmentalPrimitive(name, id, "plane")
272  {
273  }
274 
275  memoryx::PlanePrimitive::PlanePrimitive(std::vector<float>& coeffs) :
276  EnvironmentalPrimitive("", "", "plane")
277  {
278  armarx::Vector3BasePtr planeNormal = new armarx::Vector3(coeffs[0], coeffs[1], coeffs[2]);
279  setPlaneNormal(planeNormal);
280  setPlaneDistance(coeffs[3]);
281  }
282 
283  armarx::Vector3BasePtr
284  memoryx::PlanePrimitive::getPlaneNormal(const Ice::Current&) const
285  {
286  return getAttributeValue("normal")->getClass<armarx::Vector3Base>();
287  }
288 
289  void
290  memoryx::PlanePrimitive::setPlaneNormal(const armarx::Vector3BasePtr& normal,
291  const Ice::Current&)
292  {
293  putAttribute("normal", normal);
294  }
295 
296  float
297  memoryx::PlanePrimitive::getPlaneDistance(const Ice::Current&) const
298  {
299  return getAttributeValue("distance")->getFloat();
300  }
301 
302  void
304  {
305  putAttribute("distance", distance);
306  }
307 
310  {
311  return this->clone();
312  }
313 
315  memoryx::PlanePrimitive::clone(const Ice::Current&) const
316  {
317  PlanePrimitivePtr ret = new PlanePrimitive(*this);
318  return ret;
319  }
320 
321  memoryx::SpherePrimitive::SpherePrimitive(const std::string& name, const std::string& id) :
322  EnvironmentalPrimitive(name, id, "sphere")
323  {
324  }
325 
326  memoryx::SpherePrimitive::SpherePrimitive(std::vector<float>& coeffs) :
327  EnvironmentalPrimitive("", "", "sphere")
328  {
329  setSphereCenter(new armarx::Vector3(coeffs[0], coeffs[1], coeffs[2]));
330  setSphereRadius(coeffs[3]);
331  }
332 
333  armarx::Vector3BasePtr
334  SpherePrimitive::getSphereCenter(const Ice::Current& c) const
335  {
336  return getAttributeValue("center")->getClass<armarx::Vector3Base>();
337  }
338 
339  void
340  SpherePrimitive::setSphereCenter(const armarx::Vector3BasePtr& center, const Ice::Current& c)
341  {
342  putAttribute("center", center);
343  }
344 
345  float
346  SpherePrimitive::getSphereRadius(const Ice::Current& c) const
347  {
348  return getAttributeValue("radius")->getFloat();
349  }
350 
351  void
352  SpherePrimitive::setSphereRadius(float radius, const Ice::Current& c)
353  {
354  putAttribute("radius", radius);
355  }
356 
359  {
360  return this->clone();
361  }
362 
364  memoryx::SpherePrimitive::clone(const Ice::Current&) const
365  {
367  return ret;
368  }
369 
370  memoryx::CylinderPrimitive::CylinderPrimitive(const std::string& name, const std::string& id) :
371  EnvironmentalPrimitive(name, id, "cylinder")
372  {
373  }
374 
375  memoryx::CylinderPrimitive::CylinderPrimitive(std::vector<float>& coeffs) :
376  EnvironmentalPrimitive("", "", "cylinder")
377  {
378  Eigen::Vector3f base;
379  base << coeffs[0], coeffs[1], coeffs[2];
380 
381  Eigen::Vector3f direction;
382  direction << coeffs[3], coeffs[4], coeffs[5];
383 
385  setCylinderAxisDirection(new armarx::Vector3(direction.normalized()));
386  setCylinderRadius(coeffs[6]);
387  setLength(direction.norm());
388  }
389 
390  armarx::Vector3BasePtr
391  CylinderPrimitive::getCylinderPoint(const Ice::Current& c) const
392  {
393  return getAttributeValue("point")->getClass<armarx::Vector3Base>();
394  }
395 
396  void
397  CylinderPrimitive::setCylinderPoint(const armarx::Vector3BasePtr& point, const Ice::Current& c)
398  {
399  putAttribute("point", point);
400  }
401 
402  armarx::Vector3BasePtr
404  {
405  return getAttributeValue("axis")->getClass<armarx::Vector3Base>();
406  }
407 
408  void
409  CylinderPrimitive::setCylinderAxisDirection(const armarx::Vector3BasePtr& axis,
410  const Ice::Current& c)
411  {
412  putAttribute("axis", axis);
413  }
414 
415  float
416  CylinderPrimitive::getCylinderRadius(const Ice::Current& c) const
417  {
418  return getAttributeValue("radius")->getFloat();
419  }
420 
421  void
422  CylinderPrimitive::setCylinderRadius(float radius, const Ice::Current& c)
423  {
424  putAttribute("radius", radius);
425  }
426 
429  {
430  return this->clone();
431  }
432 
434  memoryx::CylinderPrimitive::clone(const Ice::Current&) const
435  {
437  return ret;
438  }
439 
440  ConePrimitive::ConePrimitive(const std::string& name, const std::string& id) :
441  EnvironmentalPrimitive(name, id, "cone")
442  {
443  }
444 
445  ConePrimitive::ConePrimitive(std::vector<float>& coeffs) :
446  EnvironmentalPrimitive("", "", "cone")
447  {
448  setConeApex(new armarx::Vector3(coeffs[0], coeffs[1], coeffs[2]));
449  setConeAxisDirection(new armarx::Vector3(coeffs[3], coeffs[4], coeffs[5]));
450  setConeOpeningAngle(coeffs[6]);
451  }
452 
453  armarx::Vector3BasePtr
454  ConePrimitive::getConeApex(const Ice::Current& c) const
455  {
456  return getAttributeValue("apex")->getClass<armarx::Vector3Base>();
457  }
458 
459  void
460  ConePrimitive::setConeApex(const armarx::Vector3BasePtr& apex, const Ice::Current& c)
461  {
462  putAttribute("apex", apex);
463  }
464 
465  armarx::Vector3BasePtr
466  ConePrimitive::getConeAxisDirection(const Ice::Current& c) const
467  {
468  return getAttributeValue("axis")->getClass<armarx::Vector3Base>();
469  }
470 
471  void
472  ConePrimitive::setConeAxisDirection(const armarx::Vector3BasePtr& axis, const Ice::Current& c)
473  {
474  putAttribute("axis", axis);
475  }
476 
477  float
478  ConePrimitive::getConeOpeningAngle(const Ice::Current&) const
479  {
480  return getAttributeValue("angle")->getFloat();
481  }
482 
483  void
484  ConePrimitive::setConeOpeningAngle(float angle, const Ice::Current& c)
485  {
486  putAttribute("angle", angle);
487  }
488 
491  {
492  return this->clone();
493  }
494 
496  ConePrimitive::clone(const Ice::Current& c) const
497  {
498  ConePrimitivePtr ret = new ConePrimitive(*this);
499  return ret;
500  }
501 
502  BoxPrimitive::BoxPrimitive(const std::string& name, const std::string& id) :
503  EnvironmentalPrimitive(name, id, "box")
504  {
505  }
506 
507  memoryx::EntityRefList
508  BoxPrimitive::getBoxSides(const Ice::Current& c) const
509  {
510  memoryx::EntityRefList result;
511  EntityAttributeBasePtr attribute = getAttribute("sides");
512  for (int i = 0; i < attribute->size(); i++)
513  {
514  armarx::VariantPtr value = armarx::VariantPtr::dynamicCast(attribute->getValueAt(i));
515  result.push_back(value->get<EntityRefBase>());
516  }
517  return result;
518  }
519 
520  void
521  BoxPrimitive::setBoxSides(const memoryx::EntityRefList& sides, const Ice::Current& c)
522  {
523  EntityAttributePtr attribute = new EntityAttribute("sides");
524  for (memoryx::EntityRefBasePtr ref : sides)
525  {
526  attribute->addValue(new armarx::Variant(ref));
527  }
528  putAttribute(attribute);
529  }
530 
533  {
534  return this->clone();
535  }
536 
538  BoxPrimitive::clone(const Ice::Current& c) const
539  {
540  BoxPrimitivePtr ret = new BoxPrimitive(*this);
541  return ret;
542  }
543 
545  const std::string& id) :
546  EnvironmentalPrimitive(name, id, "structure")
547  {
548  }
549 
550  memoryx::EntityRefList
551  HigherSemanticStructure::getPrimitives(const Ice::Current& c) const
552  {
553  memoryx::EntityRefList result;
554  EntityAttributeBasePtr attribute = getAttribute("primitives");
555  for (int i = 0; i < attribute->size(); i++)
556  {
557  armarx::VariantPtr value = armarx::VariantPtr::dynamicCast(attribute->getValueAt(i));
558  result.push_back(value->get<EntityRefBase>());
559  }
560  return result;
561  }
562 
563  void
564  HigherSemanticStructure::setPrimitives(const memoryx::EntityRefList& primitives,
565  const Ice::Current& c)
566  {
567  EntityAttributePtr attribute = new EntityAttribute("primitives");
568  for (memoryx::EntityRefBasePtr ref : primitives)
569  {
570  attribute->addValue(new armarx::Variant(ref));
571  }
572  putAttribute(attribute);
573  }
574 
575  void
576  HigherSemanticStructure::setLabels(const Ice::StringSeq& labels, const Ice::Current& c)
577  {
578  return putAttribute("labels", simox::alg::join(labels, ","));
579  }
580 
581  Ice::StringSeq
582  HigherSemanticStructure::getLabels(const Ice::Current&) const
583  {
584  std::string attrValue = getAttributeValue("labels")->getString();
585  std::vector<std::string> labels = armarx::Split(attrValue, ",");
586  return labels;
587  }
588 
591  {
592  return this->clone();
593  }
594 
596  HigherSemanticStructure::clone(const Ice::Current& c) const
597  {
599  return ret;
600  }
601 } // namespace memoryx
memoryx::CylinderPrimitive::CylinderPrimitive
CylinderPrimitive(const std::string &name="", const std::string &id="")
Definition: EnvironmentalPrimitive.cpp:370
armarx::Variant
The Variant class is described here: Variants.
Definition: Variant.h:223
EnvironmentalPrimitive.h
memoryx::EnvironmentalPrimitive::setPose
void setPose(const armarx::FramedPoseBasePtr &pose, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:70
memoryx::PlanePrimitive::PlanePrimitive
PlanePrimitive(const std::string &name="", const std::string &id="")
Definition: EnvironmentalPrimitive.cpp:270
armarx::aron::ret
ReaderT::InputType T & ret
Definition: rw.h:13
memoryx::EnvironmentalPrimitive::getShape
std::string getShape(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:45
memoryx::HigherSemanticStructure::getPrimitives
EntityRefList getPrimitives(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:551
memoryx::EnvironmentalPrimitive::setTime
void setTime(const armarx::TimestampBasePtr &time, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:220
memoryx::VariantType::PlanePrimitive
const armarx::VariantTypeId PlanePrimitive
Definition: EnvironmentalPrimitive.h:38
memoryx::PlanePrimitive::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: EnvironmentalPrimitive.cpp:309
armarx::viz::toEigen
Eigen::Matrix4f toEigen(data::GlobalPose const &pose)
Definition: Interaction.h:48
memoryx::Entity::putAttribute
void putAttribute(const ::memoryx::EntityAttributeBasePtr &attr, const ::Ice::Current &=Ice::emptyCurrent) override
Store attribute in entity.
Definition: Entity.cpp:347
memoryx::PlanePrimitive::clone
PlanePrimitivePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition: EnvironmentalPrimitive.cpp:315
memoryx::Entity::getAttribute
EntityAttributeBasePtr getAttribute(const ::std::string &attrName, const ::Ice::Current &=Ice::emptyCurrent) const override
Retrieve attribute from entity.
Definition: Entity.cpp:311
MatrixVariant.h
memoryx::CylinderPrimitive::getCylinderAxisDirection
armarx::Vector3BasePtr getCylinderAxisDirection(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:403
memoryx::SpherePrimitive::clone
SpherePrimitivePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition: EnvironmentalPrimitive.cpp:364
memoryx::EnvironmentalPrimitive::clone
EnvironmentalPrimitivePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition: EnvironmentalPrimitive.cpp:258
armarx::Split
std::vector< std::string > Split(const std::string &source, const std::string &splitBy, bool trimElements=false, bool removeEmptyElements=false)
Definition: StringHelperTemplates.h:36
memoryx::SpherePrimitive::getSphereCenter
armarx::Vector3BasePtr getSphereCenter(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:334
memoryx::VariantType::SpherePrimitive
const armarx::VariantTypeId SpherePrimitive
Definition: EnvironmentalPrimitive.h:40
memoryx::HigherSemanticStructure::setPrimitives
void setPrimitives(const EntityRefList &primitives, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:564
memoryx::EnvironmentalPrimitive::getCircularityProbability
float getCircularityProbability(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:177
memoryx
VirtualRobot headers.
Definition: CommonPlacesTester.cpp:48
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:46
memoryx::ConePrimitive::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: EnvironmentalPrimitive.cpp:490
memoryx::SpherePrimitive::setSphereRadius
void setSphereRadius(float radius, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:352
memoryx::ConePrimitive::getConeApex
armarx::Vector3BasePtr getConeApex(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:454
memoryx::ConePrimitive::getConeAxisDirection
armarx::Vector3BasePtr getConeAxisDirection(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:466
memoryx::EnvironmentalPrimitive::EnvironmentalPrimitive
EnvironmentalPrimitive(const std::string &name="", const std::string &id="", const std::string &shape="")
Definition: EnvironmentalPrimitive.cpp:34
memoryx::ConePrimitive::ConePrimitive
ConePrimitive(const std::string &name="", const std::string &id="")
Definition: EnvironmentalPrimitive.cpp:440
memoryx::EnvironmentalPrimitive::getTime
armarx::TimestampBasePtr getTime(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:214
memoryx::ConePrimitive::getConeOpeningAngle
float getConeOpeningAngle(const Ice::Current &) const override
Definition: EnvironmentalPrimitive.cpp:478
memoryx::ConePrimitive::setConeApex
void setConeApex(const armarx::Vector3BasePtr &apex, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:460
memoryx::Entity::getAttributeValue
virtual armarx::VariantPtr getAttributeValue(const ::std::string &attrName) const
Retrieve value of an attribute from entity.
Definition: Entity.cpp:327
memoryx::EnvironmentalPrimitive::getPose
armarx::FramedPoseBasePtr getPose(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:64
StringHelpers.h
memoryx::EnvironmentalPrimitive
Definition: EnvironmentalPrimitive.h:57
IceInternal::Handle< Variant >
memoryx::CylinderPrimitive::setCylinderPoint
void setCylinderPoint(const armarx::Vector3BasePtr &point, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:397
memoryx::VariantType::CylinderPrimitive
const armarx::VariantTypeId CylinderPrimitive
Definition: EnvironmentalPrimitive.h:42
memoryx::SpherePrimitive::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: EnvironmentalPrimitive.cpp:358
memoryx::BoxPrimitive::setBoxSides
void setBoxSides(const EntityRefList &sides, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:521
cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:855
memoryx::EnvironmentalPrimitive::setCircularityProbability
void setCircularityProbability(float probability, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:183
FramedPose.h
memoryx::PlanePrimitive::setPlaneNormal
void setPlaneNormal(const armarx::Vector3BasePtr &normal, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:290
memoryx::EnvironmentalPrimitive::getLabel
int getLabel(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:202
memoryx::EnvironmentalPrimitive::setProbability
void setProbability(float probability, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:171
memoryx::EnvironmentalPrimitive::getSampling
armarx::MatrixFloatBasePtr getSampling(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:227
armarx::MatrixFloat
The MatrixFloat class.
Definition: MatrixVariant.h:48
armarx::Vector3
The Vector3 class.
Definition: Pose.h:112
memoryx::EnvironmentalPrimitive::getProbability
float getProbability(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:165
memoryx::CylinderPrimitive::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: EnvironmentalPrimitive.cpp:428
memoryx::EnvironmentalPrimitive::getLength
float getLength(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:190
memoryx::CylinderPrimitive::setCylinderRadius
void setCylinderRadius(float radius, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:422
memoryx::Entity::setId
void setId(const ::std::string &id, const ::Ice::Current &=Ice::emptyCurrent) override
Set id of this entity.
Definition: Entity.cpp:174
memoryx::PlanePrimitive::setPlaneDistance
void setPlaneDistance(float distance, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:303
memoryx::HigherSemanticStructure::clone
HigherSemanticStructurePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition: EnvironmentalPrimitive.cpp:596
memoryx::SpherePrimitive::SpherePrimitive
SpherePrimitive(const std::string &name="", const std::string &id="")
Definition: EnvironmentalPrimitive.cpp:321
memoryx::PlanePrimitive::getPlaneNormal
armarx::Vector3BasePtr getPlaneNormal(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:284
memoryx::HigherSemanticStructure::setLabels
void setLabels(const Ice::StringSeq &labels, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:576
memoryx::EnvironmentalPrimitive::setGraspPoints
void setGraspPoints(const PointList &graspPoints, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:101
memoryx::CylinderPrimitive::setCylinderAxisDirection
void setCylinderAxisDirection(const armarx::Vector3BasePtr &axis, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:409
memoryx::BoxPrimitive::clone
BoxPrimitivePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition: EnvironmentalPrimitive.cpp:538
memoryx::SpherePrimitive::getSphereRadius
float getSphereRadius(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:346
memoryx::CylinderPrimitive::getCylinderRadius
float getCylinderRadius(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:416
memoryx::EnvironmentalPrimitive::setInliers
void setInliers(const PointList &inliers, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:145
memoryx::HigherSemanticStructure::HigherSemanticStructure
HigherSemanticStructure(const std::string &name="", const std::string &id="")
Definition: EnvironmentalPrimitive.cpp:544
memoryx::HigherSemanticStructure::getLabels
Ice::StringSeq getLabels(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:582
armarx::view_selection::skills::direction::state::center
state::Type center(state::Type previous)
Definition: LookDirection.cpp:233
memoryx::KBM::Vector3
Eigen::Vector3d Vector3
Definition: kbm.h:43
memoryx::SpherePrimitive::setSphereCenter
void setSphereCenter(const armarx::Vector3BasePtr &center, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:340
memoryx::EntityAttribute
Attribute of MemoryX entities.
Definition: EntityAttribute.h:49
angle
double angle(const Point &a, const Point &b, const Point &c)
Definition: point.hpp:109
memoryx::ConePrimitive::setConeAxisDirection
void setConeAxisDirection(const armarx::Vector3BasePtr &axis, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:472
memoryx::EnvironmentalPrimitive::getGraspPoints
PointList getGraspPoints(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:77
memoryx::BoxPrimitive::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: EnvironmentalPrimitive.cpp:532
distance
double distance(const Point &a, const Point &b)
Definition: point.hpp:95
memoryx::ConePrimitive::setConeOpeningAngle
void setConeOpeningAngle(float angle, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:484
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
memoryx::BoxPrimitive::BoxPrimitive
BoxPrimitive(const std::string &name="", const std::string &id="")
Definition: EnvironmentalPrimitive.cpp:502
memoryx::EnvironmentalPrimitive::setShape
void setShape(const std::string &shape, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:265
memoryx::Entity
Definition: Entity.h:245
memoryx::EnvironmentalPrimitive::setOBBDimensions
void setOBBDimensions(const armarx::Vector3BasePtr &dimensions, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:57
memoryx::CylinderPrimitive::clone
CylinderPrimitivePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition: EnvironmentalPrimitive.cpp:434
memoryx::EnvironmentalPrimitive::getOBBDimensions
armarx::Vector3BasePtr getOBBDimensions(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:51
memoryx::EnvironmentalPrimitive::getInliers
PointList getInliers(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:121
memoryx::Entity::setName
void setName(const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) override
Set name of this entity.
Definition: Entity.cpp:188
memoryx::EnvironmentalPrimitive::setSampling
void setSampling(const armarx::MatrixFloatBasePtr &sampling, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:240
memoryx::CylinderPrimitive::getCylinderPoint
armarx::Vector3BasePtr getCylinderPoint(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:391
memoryx::BoxPrimitive::getBoxSides
EntityRefList getBoxSides(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:508
memoryx::ConePrimitive::clone
ConePrimitivePtr clone(const Ice::Current &c=Ice::emptyCurrent) const
Definition: EnvironmentalPrimitive.cpp:496
memoryx::HigherSemanticStructure::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: EnvironmentalPrimitive.cpp:590
memoryx::EnvironmentalPrimitive::setLabel
void setLabel(int label, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:208
memoryx::EnvironmentalPrimitive::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: EnvironmentalPrimitive.cpp:252
memoryx::EnvironmentalPrimitive::setLength
void setLength(float length, const Ice::Current &c=Ice::emptyCurrent) override
Definition: EnvironmentalPrimitive.cpp:196
memoryx::PlanePrimitive::getPlaneDistance
float getPlaneDistance(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: EnvironmentalPrimitive.cpp:297