23 #ifndef _PLUGINS_MONGODB_LOG_MONGODB_LOG_PCL_THREAD_H_
24 #define _PLUGINS_MONGODB_LOG_MONGODB_LOG_PCL_THREAD_H_
26 #include <aspect/clock.h>
27 #include <aspect/configurable.h>
28 #include <aspect/logging.h>
29 #include <aspect/pointcloud.h>
30 #include <blackboard/interface_listener.h>
31 #include <blackboard/interface_observer.h>
32 #include <core/threading/mutex.h>
33 #include <core/threading/thread.h>
34 #include <interfaces/TransformInterface.h>
35 #include <pcl_utils/pcl_adapter.h>
36 #include <plugins/mongodb/aspect/mongodb.h>
39 #include <mongocxx/gridfs/bucket.hpp>
42 #if PCL_VERSION_COMPARE(>=, 1, 7, 0)
43 # include <pcl/PCLPointCloud2.h>
45 # include <sensor_msgs/PointCloud2.h>
83 std::string topic_name;
84 #if PCL_VERSION_COMPARE(>=, 1, 7, 0)
85 pcl::PCLPointCloud2 msg;
87 sensor_msgs::PointCloud2 msg;
92 std::map<std::string, PointCloudInfo> pcls_;
94 mongocxx::client * mongodb_;
95 mongocxx::gridfs::bucket gridfs_;
96 std::string collection_;
97 std::string database_;
102 bool cfg_flush_after_write_;
103 unsigned int cfg_chunk_size_;
104 float cfg_storage_interval_;