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
11namespace simox
12{
13 // #include <SimoxUtility/shapes/AxisAlignedBoundingBox.h>
15 // #include <SimoxUtility/shapes/OrientedBox.h>
16 template <class FloatT>
18} // namespace simox
19
20namespace armarx::data
21{
22 std::ostream& operator<<(std::ostream& os, const ObjectID& id);
23}
24
25namespace 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
42namespace 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);
51
52 void toIce(BoxPtr& box, const std::optional<simox::OrientedBox<float>>& oobb);
53 void toIce(Box& box, 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
::simox::arondto::AxisAlignedBoundingBox AxisAlignedBoundingBox
Definition simox.h:14
std::ostream & operator<<(std::ostream &os, const ObjectID &id)
void fromIce(const Box &box, simox::OrientedBox< float > &oobb)
objpose::AABB toIce(const simox::AxisAlignedBoundingBox &aabb)
const simox::meta::EnumNames< objpose::ObjectType > ObjectTypeNames
This file offers overloads of toIce() and fromIce() functions for STL container types.
void fromIce(const std::map< IceKeyT, IceValueT > &iceMap, boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
void toIce(std::map< IceKeyT, IceValueT > &iceMap, const boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
Definition Impl.cpp:41
A "gaussian" distribution in pose space (i.e.