ice_conversions.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <SimoxUtility/meta/enum/EnumNames.hpp>
4 
5 #include <RobotAPI/interface/ArmarXObjects/ArmarXObjectsTypes.h>
6 #include <RobotAPI/interface/objectpose/object_pose_types.h>
7 
11 
12 
13 namespace simox
14 {
15  // #include <SimoxUtility/shapes/AxisAlignedBoundingBox.h>
17  // #include <SimoxUtility/shapes/OrientedBox.h>
18  template<class FloatT> class OrientedBox;
19 }
20 
21 namespace armarx::data
22 {
23  std::ostream& operator<<(std::ostream& os, const ObjectID& id);
24 }
25 
26 namespace armarx
27 {
28 
29  void fromIce(const data::ObjectID& ice, ObjectID& id);
30  ObjectID fromIce(const data::ObjectID& id);
31 
32  void fromIce(const data::ObjectIDSeq& ice, std::vector<ObjectID>& ids);
33  std::vector<ObjectID> fromIce(const data::ObjectIDSeq& id);
34 
35  void toIce(data::ObjectID& ice, const ObjectID& ids);
36  data::ObjectID toIce(const ObjectID& ids);
37 
38  void toIce(data::ObjectIDSeq& ice, const std::vector<ObjectID>& ids);
39  data::ObjectIDSeq toIce(const std::vector<ObjectID>& ids);
40 
41 }
42 
43 namespace armarx::objpose
44 {
45  extern const simox::meta::EnumNames<objpose::ObjectType> ObjectTypeNames;
46 
47  objpose::AABB toIce(const simox::AxisAlignedBoundingBox& aabb);
48 
49  void fromIce(const Box& box, simox::OrientedBox<float>& oobb);
50  void fromIce(const BoxPtr& box, std::optional<simox::OrientedBox<float>>& oobb);
51  simox::OrientedBox<float> fromIce(const Box& box);
52 
53  void toIce(BoxPtr& box, const std::optional<simox::OrientedBox<float>>& oobb);
54  void toIce(Box& box, const simox::OrientedBox<float>& oobb);
55  Box toIce(const simox::OrientedBox<float>& oobb);
56 
57 
58  void fromIce(const data::PoseManifoldGaussian& ice, PoseManifoldGaussian& cov);
59  void fromIce(const data::PoseManifoldGaussianPtr& ice, std::optional<PoseManifoldGaussian>& cov);
60  std::optional<PoseManifoldGaussian> fromIce(const data::PoseManifoldGaussianPtr& ice);
61 
62  void toIce(data::PoseManifoldGaussian& ice, const PoseManifoldGaussian& cov);
63  void toIce(data::PoseManifoldGaussianPtr& ice, const std::optional<PoseManifoldGaussian>& cov);
64  data::PoseManifoldGaussianPtr toIce(const std::optional<PoseManifoldGaussian>& ice);
65 
66 }
armarx::SpawnerType::Box
@ Box
armarx::armem::attachment::ObjectID
armem::MemoryID ObjectID
Definition: types.h:79
armarx::objpose::fromIce
void fromIce(const Box &box, simox::OrientedBox< float > &oobb)
armarx::aron::simox::arondto::AxisAlignedBoundingBox
::simox::arondto::AxisAlignedBoundingBox AxisAlignedBoundingBox
Definition: simox.h:14
armarx::toIce
void toIce(std::map< IceKeyT, IceValueT > &iceMap, const boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
Definition: ice_conversions_boost_templates.h:15
armarx::data::operator<<
std::ostream & operator<<(std::ostream &os, const ObjectID &id)
Definition: ice_conversions.cpp:21
armarx::objpose
This file is part of ArmarX.
Definition: objpose.h:7
ObjectID.h
ObjectPose.h
armarx::objpose::ObjectTypeNames
const simox::meta::EnumNames< objpose::ObjectType > ObjectTypeNames
Definition: ice_conversions.cpp:87
armarx::fromIce
void fromIce(const std::map< IceKeyT, IceValueT > &iceMap, boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
Definition: ice_conversions_boost_templates.h:26
armarx::objpose::toIce
objpose::AABB toIce(const simox::AxisAlignedBoundingBox &aabb)
Definition: ice_conversions.cpp:94
forward_declarations.h
simox::OrientedBox
Definition: ice_conversions.h:18
armarx::data
Definition: json_conversions.h:34
simox
Definition: Impl.cpp:40
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28