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>
10 
11 namespace simox
12 {
13  // #include <SimoxUtility/shapes/AxisAlignedBoundingBox.h>
15  // #include <SimoxUtility/shapes/OrientedBox.h>
16  template <class FloatT>
17  class OrientedBox;
18 } // namespace simox
19 
20 namespace armarx::data
21 {
22  std::ostream& operator<<(std::ostream& os, const ObjectID& id);
23 }
24 
25 namespace armarx
26 {
27 
28  void fromIce(const data::ObjectID& ice, ObjectID& id);
29  ObjectID fromIce(const data::ObjectID& id);
30 
31  void fromIce(const data::ObjectIDSeq& ice, std::vector<ObjectID>& ids);
32  std::vector<ObjectID> fromIce(const data::ObjectIDSeq& id);
33 
34  void toIce(data::ObjectID& ice, const ObjectID& ids);
35  data::ObjectID toIce(const ObjectID& ids);
36 
37  void toIce(data::ObjectIDSeq& ice, const std::vector<ObjectID>& ids);
38  data::ObjectIDSeq toIce(const std::vector<ObjectID>& ids);
39 
40 } // namespace armarx
41 
42 namespace armarx::objpose
43 {
44  extern const simox::meta::EnumNames<objpose::ObjectType> ObjectTypeNames;
45 
46  objpose::AABB toIce(const simox::AxisAlignedBoundingBox& aabb);
47 
48  void fromIce(const Box& box, simox::OrientedBox<float>& oobb);
49  void fromIce(const BoxPtr& box, std::optional<simox::OrientedBox<float>>& oobb);
50  simox::OrientedBox<float> fromIce(const Box& box);
51 
52  void toIce(BoxPtr& box, const std::optional<simox::OrientedBox<float>>& oobb);
53  void toIce(Box& box, const simox::OrientedBox<float>& oobb);
54  Box toIce(const simox::OrientedBox<float>& oobb);
55 
56 
57  void fromIce(const data::PoseManifoldGaussian& ice, PoseManifoldGaussian& cov);
58  void fromIce(const data::PoseManifoldGaussianPtr& ice,
59  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 } // namespace armarx::objpose
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:19
armarx::objpose
Definition: objpose.h:6
ObjectID.h
ObjectPose.h
armarx::objpose::ObjectTypeNames
const simox::meta::EnumNames< objpose::ObjectType > ObjectTypeNames
Definition: ice_conversions.cpp:97
armarx::fromIce
void fromIce(const std::map< IceKeyT, IceValueT > &iceMap, boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
Definition: ice_conversions_boost_templates.h:27
armarx::objpose::toIce
objpose::AABB toIce(const simox::AxisAlignedBoundingBox &aabb)
Definition: ice_conversions.cpp:103
forward_declarations.h
simox::OrientedBox
Definition: ice_conversions.h:17
armarx::data
Definition: json_conversions.h:33
simox
Definition: Impl.cpp:40
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27