Fawkes API
Fawkes Development Version
|
Point Cloud manager. More...
#include <>>
Public Member Functions | |
PointCloudManager () | |
Constructor. More... | |
virtual | ~PointCloudManager () |
Destructor. More... | |
template<typename PointT > | |
void | add_pointcloud (const char *id, RefPtr< pcl::PointCloud< PointT > > cloud) |
Add point cloud. More... | |
void | remove_pointcloud (const char *id) |
Remove the point cloud. More... | |
template<typename PointT > | |
const RefPtr< const pcl::PointCloud< PointT > > | get_pointcloud (const char *id) |
Get point cloud. More... | |
bool | exists_pointcloud (const char *id) |
Check if point cloud exists. More... | |
template<typename PointT > | |
bool | exists_pointcloud (const char *id) |
Check if point cloud of specified type exists. More... | |
std::vector< std::string > | get_pointcloud_list () const |
Get list of point cloud IDs. More... | |
const fawkes::LockMap< std::string, pcl_utils::StorageAdapter * > & | get_pointclouds () const |
Get map of point clouds. More... | |
const pcl_utils::StorageAdapter * | get_storage_adapter (const char *id) |
Get a storage adapter. More... | |
Point Cloud manager.
This class manages a number of points clouds and acts as a hub to distribute them.
Definition at line 50 of file pointcloud_manager.h.
fawkes::PointCloudManager::PointCloudManager | ( | ) |
Constructor.
Definition at line 51 of file pointcloud_manager.cpp.
|
virtual |
Destructor.
Definition at line 56 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 84 of file pointcloud_manager.h.
Referenced by LaserPointCloudThread::bb_interface_created(), RobotinoIrPclThread::init(), DepthcamSimThread::init(), LaserPointCloudThread::init(), PointCloudDBRetrieveThread::init(), OpenNiPclOnlyThread::init(), PointCloudDBMergeThread::init(), LaserClusterThread::init(), Bumblebee2Thread::init(), LaserLinesThread::init(), TabletopObjectsThread::init(), PointCloudDBROSCommThread::loop(), and RosPointCloudThread::run().
bool fawkes::PointCloudManager::exists_pointcloud | ( | const char * | id | ) |
Check if point cloud exists.
id | ID of point cloud to check |
Definition at line 86 of file pointcloud_manager.cpp.
Referenced by PointCloudAdapter::get_info(), TabletopObjectsThread::init(), PointCloudDBStoreThread::loop(), and RosPointCloudThread::loop().
bool fawkes::PointCloudManager::exists_pointcloud | ( | const char * | id | ) |
Check if point cloud of specified type exists.
id | ID of point cloud to check |
Definition at line 124 of file pointcloud_manager.h.
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 98 of file pointcloud_manager.h.
References fawkes::pcl_utils::PointCloudStorageAdapter< PointT >::cloud.
Referenced by PointCloudAdapter::get_info(), LaserClusterThread::init(), LaserLinesThread::init(), and TabletopObjectsThread::init().
std::vector< std::string > fawkes::PointCloudManager::get_pointcloud_list | ( | ) | const |
Get list of point cloud IDs.
Definition at line 98 of file pointcloud_manager.cpp.
Referenced by MongoLogPointCloudThread::init(), and RosPointCloudThread::loop().
const fawkes::LockMap< std::string, pcl_utils::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 119 of file pointcloud_manager.cpp.
const pcl_utils::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 134 of file pointcloud_manager.cpp.
Referenced by PointCloudAdapter::get_data(), PointCloudAdapter::get_info(), and RosPointCloudThread::loop().
void fawkes::PointCloudManager::remove_pointcloud | ( | const char * | id | ) |
Remove the point cloud.
id | ID of point cloud to remove |
Definition at line 71 of file pointcloud_manager.cpp.
Referenced by LaserPointCloudThread::bb_interface_created(), LaserPointCloudThread::bb_interface_reader_removed(), RobotinoIrPclThread::finalize(), DepthcamSimThread::finalize(), LaserPointCloudThread::finalize(), OpenNiPclOnlyThread::finalize(), PointCloudDBRetrieveThread::finalize(), PointCloudDBMergeThread::finalize(), RosPointCloudThread::finalize(), LaserClusterThread::finalize(), Bumblebee2Thread::finalize(), LaserLinesThread::finalize(), TabletopObjectsThread::finalize(), and PointCloudDBROSCommThread::loop().