23 #ifndef __LIBS_PCL_UTILS_POINTCLOUD_MANAGER_H_ 24 #define __LIBS_PCL_UTILS_POINTCLOUD_MANAGER_H_ 26 #include <core/exception.h> 27 #include <core/utils/refptr.h> 28 #include <core/utils/lock_map.h> 29 #include <core/threading/mutex_locker.h> 30 #include <utils/time/time.h> 32 #include <pcl_utils/storage_adapter.h> 41 template <
typename Po
intT>
56 template <
typename Po
intT>
59 void remove_pointcloud(
const char *
id);
61 template <
typename Po
intT>
63 bool exists_pointcloud(
const char *
id);
69 template <
typename Po
intT>
70 bool exists_pointcloud(
const char *
id);
73 std::vector<std::string> get_pointcloud_list()
const;
82 template <
typename Po
intT>
84 PointCloudManager::add_pointcloud(
const char *
id,
89 if (__clouds.find(
id) == __clouds.end()) {
92 throw Exception(
"Cloud %s already registered");
96 template <
typename Po
intT>
98 PointCloudManager::get_pointcloud(
const char *
id)
102 if (__clouds.find(
id) != __clouds.end()) {
108 if (strcmp(__clouds[
id]->get_typename(),
114 throw Exception(
"The desired point cloud is of a different type");
118 throw Exception(
"No point cloud with ID '%s' registered",
id);
122 template <
typename Po
intT>
124 PointCloudManager::exists_pointcloud(
const char *
id)
const RefPtr< pcl::PointCloud< PointT > > cloud
The point cloud.
Fawkes library namespace.
Adapter class for PCL point types.
Base class for exceptions in Fawkes.
RefPtr<> is a reference-counting shared smartpointer.