3#include <SimoxUtility/meta/enum/EnumNames.hpp>
5#include <RobotAPI/interface/ArmarXObjects/ArmarXObjectsTypes.h>
6#include <RobotAPI/interface/objectpose/object_pose_types.h>
16 template <
class FloatT>
22 std::ostream&
operator<<(std::ostream& os,
const ObjectID&
id);
28 void fromIce(
const data::ObjectID& ice, ObjectID&
id);
29 ObjectID
fromIce(
const data::ObjectID&
id);
31 void fromIce(
const data::ObjectIDSeq& ice, std::vector<ObjectID>& ids);
32 std::vector<ObjectID>
fromIce(
const data::ObjectIDSeq&
id);
34 void toIce(data::ObjectID& ice,
const ObjectID& ids);
35 data::ObjectID
toIce(
const ObjectID& ids);
37 void toIce(data::ObjectIDSeq& ice,
const std::vector<ObjectID>& ids);
38 data::ObjectIDSeq
toIce(
const std::vector<ObjectID>& ids);
44 extern const simox::meta::EnumNames<objpose::ObjectType>
ObjectTypeNames;
46 objpose::AABB
toIce(
const simox::AxisAlignedBoundingBox& aabb);
58 void fromIce(
const data::PoseManifoldGaussianPtr& ice,
59 std::optional<PoseManifoldGaussian>& cov);
60 std::optional<PoseManifoldGaussian>
fromIce(
const data::PoseManifoldGaussianPtr& ice);
63 void toIce(data::PoseManifoldGaussianPtr& ice,
const std::optional<PoseManifoldGaussian>& cov);
64 data::PoseManifoldGaussianPtr
toIce(
const std::optional<PoseManifoldGaussian>& ice);
::simox::arondto::AxisAlignedBoundingBox AxisAlignedBoundingBox
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)
A "gaussian" distribution in pose space (i.e.