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 90 of file pcl_db_pipeline.h.
|
protected |
Basic point cloud type.
Definition at line 94 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to constant cloud.
Definition at line 103 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to cloud.
Definition at line 101 of file pcl_db_pipeline.h.
|
protected |
Type for colored point clouds based on ColorPointType.
Definition at line 99 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to constant colored cloud.
Definition at line 108 of file pcl_db_pipeline.h.
|
protected |
Shared pointer to colored cloud.
Definition at line 106 of file pcl_db_pipeline.h.
|
protected |
Colored point type.
Definition at line 97 of file pcl_db_pipeline.h.
|
inline |
Constructor.
mongodb_client | MongoDB client |
config | configuration |
logger | Logger |
output | output point cloud |
Definition at line 117 of file pcl_db_pipeline.h.
|
inlinevirtual |
Destructor.
Definition at line 138 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 152 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 239 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 267 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 324 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 325 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 329 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 327 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 322 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 331 of file pcl_db_pipeline.h.
Referenced by PointCloudDBMergePipeline< pcl::PointXYZ >::merge(), and PointCloudDBRetrievePipeline< pcl::PointXYZ >::retrieve().