Fawkes API
Fawkes Development Version
|
Point Cloud manager. More...
#include <>>
Classes | |
class | PointCloudStorageAdapter |
Adapter class for PCL point types. More... | |
class | StorageAdapter |
Adapter base class. More... |
Public Member Functions | |
PointCloudManager () | |
Constructor. | |
virtual | ~PointCloudManager () |
Destructor. | |
template<typename PointT > | |
void | add_pointcloud (const char *id, RefPtr< pcl::PointCloud< PointT > > cloud) |
Add point cloud. | |
void | remove_pointcloud (const char *id) |
Remove the point cloud. | |
template<typename PointT > | |
const RefPtr< const pcl::PointCloud< PointT > > | get_pointcloud (const char *id) |
Get point cloud. | |
bool | exists_pointcloud (const char *id) |
Check if point cloud exists. | |
template<typename PointT > | |
bool | exists_pointcloud (const char *id) |
Check if point cloud of specified type exists. | |
std::vector< std::string > | get_pointcloud_list () const |
Get list of point cloud IDs. | |
const fawkes::LockMap < std::string, StorageAdapter * > & | get_pointclouds () const |
Get map of point clouds. | |
const StorageAdapter * | get_storage_adapter (const char *id) |
Get a storage adapter. |
Point Cloud manager.
This class manages a number of points clouds and acts as a hub to distribute them.
Definition at line 60 of file pointcloud_manager.h.
fawkes::PointCloudManager::PointCloudManager | ( | ) |
Constructor.
Definition at line 113 of file pointcloud_manager.cpp.
|
virtual |
Destructor.
Definition at line 118 of file pointcloud_manager.cpp.
void fawkes::PointCloudManager::add_pointcloud | ( | const char * | id, |
RefPtr< pcl::PointCloud< PointT > > | cloud | ||
) |
Add point cloud.
id | ID of point cloud to add, must be unique |
cloud | refptr to point cloud |
Definition at line 168 of file pointcloud_manager.h.
Referenced by RobotinoIrPclThread::init(), LaserPointCloudThread::init(), OpenNiPclOnlyThread::init(), and TabletopObjectsThread::init().
bool fawkes::PointCloudManager::exists_pointcloud | ( | const char * | id | ) |
Check if point cloud exists.
id | ID of point cloud to check |
Definition at line 148 of file pointcloud_manager.cpp.
Referenced by RosPointCloudAdapter::get_info().
bool fawkes::PointCloudManager::exists_pointcloud | ( | const char * | id | ) |
Check if point cloud of specified type exists.
id | ID of point cloud to check |
const RefPtr< const pcl::PointCloud< PointT > > fawkes::PointCloudManager::get_pointcloud | ( | const char * | id | ) |
Get point cloud.
id | ID of point cloud to retrieve |
Exception | thrown if point cloud for given ID does not exist |
Definition at line 182 of file pointcloud_manager.h.
References fawkes::PointCloudManager::PointCloudStorageAdapter< PointT >::cloud.
Referenced by RosPointCloudAdapter::get_info(), and TabletopObjectsThread::init().
std::vector< std::string > fawkes::PointCloudManager::get_pointcloud_list | ( | ) | const |
Get list of point cloud IDs.
Definition at line 160 of file pointcloud_manager.cpp.
Referenced by RosPointCloudThread::init().
const fawkes::LockMap< std::string, PointCloudManager::StorageAdapter * > & fawkes::PointCloudManager::get_pointclouds | ( | ) | const |
Get map of point clouds.
Use with care. Do not use in ROS-enabled plugins unless you are aware of sensor_msgs and std_msgs incompatibilities between standalone PCL and ROS!
Definition at line 181 of file pointcloud_manager.cpp.
const PointCloudManager::StorageAdapter * fawkes::PointCloudManager::get_storage_adapter | ( | const char * | id | ) |
Get a storage adapter.
Use with care. Do not use in ROS-enabled plugins unless you are aware of sensor_msgs and std_msgs incompatibilities between standalone PCL and ROS!
id | ID of point clouds whose storage adapter to retrieve |
Exception | thrown if ID is unknown |
Definition at line 196 of file pointcloud_manager.cpp.
Referenced by RosPointCloudAdapter::get_data(), and RosPointCloudAdapter::get_info().
void fawkes::PointCloudManager::remove_pointcloud | ( | const char * | id | ) |
Remove the point cloud.
id | ID of point cloud to remove |
Definition at line 133 of file pointcloud_manager.cpp.
Referenced by RobotinoIrPclThread::finalize(), LaserPointCloudThread::finalize(), OpenNiPclOnlyThread::finalize(), and TabletopObjectsThread::finalize().