23 #ifndef __PLUGINS_MONGODB_LOG_MONGODB_LOG_PCL_THREAD_H_ 24 #define __PLUGINS_MONGODB_LOG_MONGODB_LOG_PCL_THREAD_H_ 26 #include <pcl_utils/pcl_adapter.h> 28 #include <core/threading/thread.h> 29 #include <aspect/clock.h> 30 #include <aspect/configurable.h> 31 #include <aspect/logging.h> 32 #include <aspect/pointcloud.h> 33 #include <plugins/mongodb/aspect/mongodb.h> 34 #include <blackboard/interface_listener.h> 35 #include <blackboard/interface_observer.h> 36 #include <interfaces/TransformInterface.h> 37 #include <core/threading/mutex.h> 42 #if PCL_VERSION_COMPARE(>=,1,7,0) 43 # include <pcl/PCLPointCloud2.h> 45 # include <sensor_msgs/PointCloud2.h> 75 protected:
virtual void run() { Thread::run(); }
82 std::string topic_name;
83 #if PCL_VERSION_COMPARE(>=,1,7,0) 84 pcl::PCLPointCloud2 msg;
86 sensor_msgs::PointCloud2 msg;
91 std::map<std::string, PointCloudInfo> pcls_;
93 mongo::DBClientBase *mongodb_;
94 mongo::GridFS *gridfs_;
95 std::string collection_;
96 std::string database_;
101 bool cfg_flush_after_write_;
102 unsigned int cfg_chunk_size_;
103 float cfg_storage_interval_;
Thread aspect that allows to obtain the current time from the clock.
MongoLogPointCloudThread()
Constructor.
Fawkes library namespace.
Thread aspect to provide and access point clouds.
A class for handling time.
Thread class encapsulation of pthreads.
virtual void run()
Stub to see name in backtrace for easier debugging.
Thread aspect to access MongoDB.
Thread aspect to log output.
Thread to store point clouds to MongoDB.
Thread aspect to access configuration data.
Point cloud adapter class.
virtual ~MongoLogPointCloudThread()
Destructor.
Mutex mutual exclusion lock.
virtual void finalize()
Finalize the thread.
virtual bool prepare_finalize_user()
Prepare finalization user implementation.
virtual void loop()
Code to execute in the thread.
virtual void init()
Initialize the thread.