Fawkes API
Fawkes Development Version
|
Database point cloud pipeline base class. More...
#include <pcl_db_pipeline.h>
Public Member Functions | |
PointCloudDBPipeline (mongocxx::client *mongodb_client, fawkes::Configuration *config, fawkes::Logger *logger, ColorCloudPtr output) | |
Constructor. More... | |
virtual | ~PointCloudDBPipeline () |
Destructor. More... | |
ApplicabilityStatus | applicable (std::vector< long long > ×, std::string &database, std::string &collection) |
Check if this pipeline instance is suitable for the given times. More... | |
Protected Types | |
typedef pcl::PointCloud< PointType > | Cloud |
Basic point cloud type. More... | |
typedef pcl::PointXYZRGB | ColorPointType |
Colored point type. More... | |
typedef pcl::PointCloud< ColorPointType > | ColorCloud |
Type for colored point clouds based on ColorPointType. More... | |
typedef Cloud::Ptr | CloudPtr |
Shared pointer to cloud. More... | |
typedef Cloud::ConstPtr | CloudConstPtr |
Shared pointer to constant cloud. More... | |
typedef ColorCloud::Ptr | ColorCloudPtr |
Shared pointer to colored cloud. More... | |
typedef ColorCloud::ConstPtr | ColorCloudConstPtr |
Shared pointer to constant colored cloud. More... | |
Protected Member Functions | |
void | read_gridfs_file (void *dataptr, std::string &database, bsoncxx::types::value file_id) |
Read a file from MongoDB GridFS. More... | |
std::vector< CloudPtr > | retrieve_clouds (std::vector< long > ×, std::vector< long > &actual_times, std::string &database, std::string &collection_name) |
Retrieve point clouds from database. More... | |
Protected Attributes | |
const char * | name_ |
Name of the pipeline. More... | |
long | cfg_pcl_age_tolerance_ |
Age tolerance for retrieved point clouds. More... | |
long | cfg_transform_range_ [2] |
Transform range start and end times. More... | |
mongocxx::client * | mongodb_client_ |
MongoDB client to retrieve data. More... | |
fawkes::Logger * | logger_ |
Logger for informative messages. More... | |
ColorCloudPtr | output_ |
The final (colored) output of the pipeline. More... | |
Database point cloud pipeline base class.
Common functionality for pcl-db-* plugins operating on point clouds restored from MongoDB.
Definition at line 91 of file pcl_db_pipeline.h.
|
protected |
Basic point cloud type.
Definition at line 95 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to constant cloud.
Definition at line 104 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to cloud.
Definition at line 102 of file pcl_db_pipeline.h.
|
protected |
Type for colored point clouds based on ColorPointType.
Definition at line 100 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to constant colored cloud.
Definition at line 109 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to colored cloud.
Definition at line 107 of file pcl_db_pipeline.h.
|
protected |
Colored point type.
Definition at line 98 of file pcl_db_pipeline.h.
|
inline |
Constructor.
mongodb_client | MongoDB client |
config | configuration |
logger | Logger |
output | output point cloud |
Definition at line 118 of file pcl_db_pipeline.h.
|
inlinevirtual |
Destructor.
Definition at line 139 of file pcl_db_pipeline.h.
|
inline |
Check if this pipeline instance is suitable for the given times.
Retrieves information about the point clouds for the specified times
and checks if this pipeline (depending on the template parameter) is suitable for the processing of these pipelines.
times | times for which to check the point clouds |
database | ddatabase from which to retrieve the information |
collection | collection from which to retrieve the information |
Definition at line 153 of file pcl_db_pipeline.h.
Referenced by PointCloudDBRetrieveThread::loop(), and PointCloudDBMergeThread::loop().
|
inlineprotected |
Read a file from MongoDB GridFS.
dataptr | Pointer to buffer to read data to. Make sure it is of sufficient size. |
database | database from which to read the file |
file_id | The bucket ID of the file to read |
Definition at line 240 of file pcl_db_pipeline.h.
Referenced by PointCloudDBPipeline< pcl::PointXYZ >::retrieve_clouds().
|
inlineprotected |
Retrieve point clouds from database.
times | timestamps for when to read the point clouds. The method will retrieve the point clouds with the minimum difference between the desired and actual times. |
actual_times | upon return contains the actual times of the point clouds retrieved based on the desired times . |
database | name of the database to retrieve data from |
collection_name | name of the collection to retrieve data from. |
Definition at line 268 of file pcl_db_pipeline.h.
Referenced by PointCloudDBMergePipeline< pcl::PointXYZ >::merge(), and PointCloudDBRetrievePipeline< pcl::PointXYZ >::retrieve().
|
protected |
Age tolerance for retrieved point clouds.
Definition at line 325 of file pcl_db_pipeline.h.
Referenced by PointCloudDBPipeline< pcl::PointXYZ >::applicable(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), PointCloudDBPipeline< pcl::PointXYZ >::PointCloudDBPipeline(), and PointCloudDBPipeline< pcl::PointXYZ >::retrieve_clouds().
|
protected |
Transform range start and end times.
Definition at line 326 of file pcl_db_pipeline.h.
Referenced by PointCloudDBMergePipeline< pcl::PointXYZ >::merge(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), PointCloudDBPipeline< pcl::PointXYZ >::PointCloudDBPipeline(), and PointCloudDBRetrievePipeline< pcl::PointXYZ >::retrieve().
|
protected |
Logger for informative messages.
Definition at line 330 of file pcl_db_pipeline.h.
Referenced by PointCloudDBPipeline< pcl::PointXYZ >::applicable(), PointCloudDBMergePipeline< pcl::PointXYZ >::merge(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), PointCloudDBPipeline< pcl::PointXYZ >::read_gridfs_file(), PointCloudDBRetrievePipeline< pcl::PointXYZ >::retrieve(), and PointCloudDBPipeline< pcl::PointXYZ >::retrieve_clouds().
|
protected |
MongoDB client to retrieve data.
Definition at line 328 of file pcl_db_pipeline.h.
Referenced by PointCloudDBPipeline< pcl::PointXYZ >::applicable(), PointCloudDBMergePipeline< pcl::PointXYZ >::merge(), PointCloudDBPipeline< pcl::PointXYZ >::read_gridfs_file(), PointCloudDBRetrievePipeline< pcl::PointXYZ >::retrieve(), and PointCloudDBPipeline< pcl::PointXYZ >::retrieve_clouds().
|
protected |
Name of the pipeline.
Definition at line 323 of file pcl_db_pipeline.h.
Referenced by PointCloudDBPipeline< pcl::PointXYZ >::applicable(), PointCloudDBMergePipeline< pcl::PointXYZ >::merge(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), PointCloudDBPipeline< pcl::PointXYZ >::PointCloudDBPipeline(), PointCloudDBRetrievePipeline< pcl::PointXYZ >::PointCloudDBRetrievePipeline(), PointCloudDBPipeline< pcl::PointXYZ >::read_gridfs_file(), PointCloudDBRetrievePipeline< pcl::PointXYZ >::retrieve(), and PointCloudDBPipeline< pcl::PointXYZ >::retrieve_clouds().
|
protected |
The final (colored) output of the pipeline.
Definition at line 332 of file pcl_db_pipeline.h.
Referenced by PointCloudDBMergePipeline< pcl::PointXYZ >::merge(), and PointCloudDBRetrievePipeline< pcl::PointXYZ >::retrieve().