1 #ifndef ED_HELPERS_MSG_CONVERSIONS_H_
2 #define ED_HELPERS_MSG_CONVERSIONS_H_
4 #include "ed_msgs/EntityInfo.h"
15 #include <shape_msgs/SolidPrimitive.h>
36 shape_msgs::SolidPrimitive solid;
37 sub_Volume.geometry.type = sub_Volume.geometry.BOX;
38 sub_Volume.geometry.dimensions.resize(3, 0);
39 sub_Volume.geometry.dimensions[solid.BOX_X] = size.x;
40 sub_Volume.geometry.dimensions[solid.BOX_Y] = size.y;
41 sub_Volume.geometry.dimensions[solid.BOX_Z] = size.z;
50 msg.id = e.
id().
str();
55 msg.types.push_back(*it);
61 if (!convex_hull.
points.empty())
64 msg.z_max = convex_hull.
z_max;
66 msg.convex_hull.resize(convex_hull.
points.size());
67 for(
unsigned int i = 0; i < msg.convex_hull.size(); ++i)
69 msg.convex_hull[i].x = convex_hull.
points[i].x;
70 msg.convex_hull[i].y = convex_hull.
points[i].y;
71 msg.convex_hull[i].z = 0;
76 msg.convex_hull.resize(0);
81 msg.has_shape = (e.
visual() !=
nullptr);
107 ed_msgs::Volume volume;
108 volume.name = it->first;
115 it2 != shapes.
end(); ++it2)
118 shape_tr->setMesh(it2->first->getMesh().getTransformed(it2->second.inverse()));
120 ed_msgs::SubVolume sub_volume;
122 sub_volume.center_point.header.frame_id = e.
id().
str();
128 ed_msgs::SubVolume sub_volume;
129 convert(it->second, sub_volume);
130 volume.subvolumes.push_back(sub_volume);
132 msg.volumes.push_back(volume);
137 msg.volumes.resize(0);
143 msg.flags.push_back(*it);