Fawkes API  Fawkes Development Version
fawkes::PointCloudManager Class Reference

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::StorageAdapterget_storage_adapter (const char *id)
 Get a storage adapter. More...
 

Detailed Description

Point Cloud manager.

This class manages a number of points clouds and acts as a hub to distribute them.

Author
Tim Niemueller

Definition at line 50 of file pointcloud_manager.h.

Constructor & Destructor Documentation

◆ PointCloudManager()

fawkes::PointCloudManager::PointCloudManager ( )

Constructor.

Definition at line 51 of file pointcloud_manager.cpp.

◆ ~PointCloudManager()

fawkes::PointCloudManager::~PointCloudManager ( )
virtual

Destructor.

Definition at line 56 of file pointcloud_manager.cpp.

Member Function Documentation

◆ add_pointcloud()

template<typename PointT >
void fawkes::PointCloudManager::add_pointcloud ( const char *  id,
RefPtr< pcl::PointCloud< PointT > >  cloud 
)

◆ exists_pointcloud() [1/2]

bool fawkes::PointCloudManager::exists_pointcloud ( const char *  id)

Check if point cloud exists.

Parameters
idID of point cloud to check
Returns
true if the point cloud exists, false otherwise

Definition at line 86 of file pointcloud_manager.cpp.

Referenced by PointCloudAdapter::get_info(), TabletopObjectsThread::init(), PointCloudDBStoreThread::loop(), and RosPointCloudThread::loop().

◆ exists_pointcloud() [2/2]

template<typename PointT >
bool fawkes::PointCloudManager::exists_pointcloud ( const char *  id)

Check if point cloud of specified type exists.

Parameters
idID of point cloud to check
Returns
true if the point cloud exists, false otherwise

Definition at line 124 of file pointcloud_manager.h.

◆ get_pointcloud()

template<typename PointT >
const RefPtr< const pcl::PointCloud< PointT > > fawkes::PointCloudManager::get_pointcloud ( const char *  id)

Get point cloud.

Parameters
idID of point cloud to retrieve
Returns
point cloud
Exceptions
Exceptionthrown 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().

◆ get_pointcloud_list()

std::vector< std::string > fawkes::PointCloudManager::get_pointcloud_list ( ) const

Get list of point cloud IDs.

Returns
list of point cloud IDs

Definition at line 98 of file pointcloud_manager.cpp.

Referenced by MongoLogPointCloudThread::init(), and RosPointCloudThread::loop().

◆ get_pointclouds()

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!

Returns
map from ID to storage adapter

Definition at line 119 of file pointcloud_manager.cpp.

◆ get_storage_adapter()

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!

Parameters
idID of point clouds whose storage adapter to retrieve
Returns
storage adapter for given ID
Exceptions
Exceptionthrown if ID is unknown

Definition at line 134 of file pointcloud_manager.cpp.

Referenced by PointCloudAdapter::get_data(), PointCloudAdapter::get_info(), and RosPointCloudThread::loop().

◆ remove_pointcloud()


The documentation for this class was generated from the following files: