UASSERT(!imagesMsg->rgbd_images.empty()); \
std::vector<cv_bridge::CvImageConstPtr> imageMsgs(imagesMsg->rgbd_images.size()); \
std::vector<cv_bridge::CvImageConstPtr> depthMsgs(imagesMsg->rgbd_images.size()); \
std::vector<sensor_msgs::CameraInfo> cameraInfoMsgs; \
std::vector<sensor_msgs::CameraInfo> depthCameraInfoMsgs; \
std::vector<rtabmap_msgs::GlobalDescriptor> globalDescriptorMsgs; \
std::vector<std::vector<rtabmap_msgs::KeyPoint> > localKeyPoints; \
std::vector<std::vector<rtabmap_msgs::Point3f> > localPoints3d; \
std::vector<cv::Mat> localDescriptors; \
for(
size_t i=0;
i<imageMsgs.size(); ++
i) \
{ \
rtabmap_conversions::toCvShare(imagesMsg->rgbd_images[i], imagesMsg, imageMsgs[i], depthMsgs[i]); \
cameraInfoMsgs.push_back(imagesMsg->rgbd_images[i].rgb_camera_info); \
depthCameraInfoMsgs.push_back(imagesMsg->rgbd_images[i].depth_camera_info); \
if(!imagesMsg->rgbd_images[i].global_descriptor.data.empty()) \
globalDescriptorMsgs.push_back(imagesMsg->rgbd_images[i].global_descriptor); \
localKeyPoints.push_back(imagesMsg->rgbd_images[i].key_points); \
localPoints3d.push_back(imagesMsg->rgbd_images[i].points); \
} \
if(!depthMsgs[0].
get()) \
depthMsgs.clear();