Synchronizes up to 9 messages by their timestamps. More...
#include <time_synchronizer.h>
Public Types | |
typedef Synchronizer< Policy > | Base |
typedef boost::shared_ptr< M0 const > | M0ConstPtr |
typedef Base::M0Event | M0Event |
typedef boost::shared_ptr< M1 const > | M1ConstPtr |
typedef Base::M1Event | M1Event |
typedef boost::shared_ptr< M2 const > | M2ConstPtr |
typedef Base::M2Event | M2Event |
typedef boost::shared_ptr< M3 const > | M3ConstPtr |
typedef Base::M3Event | M3Event |
typedef boost::shared_ptr< M4 const > | M4ConstPtr |
typedef Base::M4Event | M4Event |
typedef boost::shared_ptr< M5 const > | M5ConstPtr |
typedef Base::M5Event | M5Event |
typedef boost::shared_ptr< M6 const > | M6ConstPtr |
typedef Base::M6Event | M6Event |
typedef boost::shared_ptr< M7 const > | M7ConstPtr |
typedef Base::M7Event | M7Event |
typedef boost::shared_ptr< M8 const > | M8ConstPtr |
typedef Base::M8Event | M8Event |
typedef sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > | Policy |
Public Member Functions | |
void | add0 (const M0ConstPtr &msg) |
void | add1 (const M1ConstPtr &msg) |
void | add2 (const M2ConstPtr &msg) |
void | add3 (const M3ConstPtr &msg) |
void | add4 (const M4ConstPtr &msg) |
void | add5 (const M5ConstPtr &msg) |
void | add6 (const M6ConstPtr &msg) |
void | add7 (const M7ConstPtr &msg) |
void | add8 (const M8ConstPtr &msg) |
TimeSynchronizer (uint32_t queue_size) | |
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 , class F6 , class F7 , class F8 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, F3 &f3, F4 &f4, F5 &f5, F6 &f6, F7 &f7, F8 &f8, uint32_t queue_size) | |
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 , class F6 , class F7 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, F3 &f3, F4 &f4, F5 &f5, F6 &f6, F7 &f7, uint32_t queue_size) | |
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 , class F6 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, F3 &f3, F4 &f4, F5 &f5, F6 &f6, uint32_t queue_size) | |
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, F3 &f3, F4 &f4, F5 &f5, uint32_t queue_size) | |
template<class F0 , class F1 , class F2 , class F3 , class F4 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, F3 &f3, F4 &f4, uint32_t queue_size) | |
template<class F0 , class F1 , class F2 , class F3 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, F3 &f3, uint32_t queue_size) | |
template<class F0 , class F1 , class F2 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, uint32_t queue_size) | |
template<class F0 , class F1 > | |
TimeSynchronizer (F0 &f0, F1 &f1, uint32_t queue_size) |
Synchronizes up to 9 messages by their timestamps.
TimeSynchronizer synchronizes up to 9 incoming channels by the timestamps contained in their messages' headers. TimeSynchronizer takes anywhere from 2 to 9 message types as template parameters, and passes them through to a callback which takes a shared pointer of each.
The required queue size parameter when constructing the TimeSynchronizer tells it how many sets of messages it should store (by timestamp) while waiting for messages to arrive and complete their "set"
The input connections for the TimeSynchronizer object is the same signature as for roscpp subscription callbacks, ie.
void callback(const boost::shared_ptr<M const>&);
The output connection for the TimeSynchronizer object is dependent on the number of messages being synchronized. For a 3-message synchronizer for example, it would be:
void callback(const boost::shared_ptr<M0 const>&, const boost::shared_ptr<M1 const>&, const boost::shared_ptr<M2 const>&);
Example usage would be:
TimeSynchronizer<sensor_msgs::CameraInfo, sensor_msgs::Image, sensor_msgs::Image> sync_policies(caminfo_sub, limage_sub, rimage_sub, 3); sync_policies.registerCallback(callback);
The callback is then of the form:
void callback(const sensor_msgs::CameraInfo::ConstPtr&, const sensor_msgs::Image::ConstPtr&, const sensor_msgs::Image::ConstPtr&);
Definition at line 79 of file time_synchronizer.h.
typedef Synchronizer<Policy> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::Base |
Definition at line 43 of file time_synchronizer.h.
typedef boost::shared_ptr<M0 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M0ConstPtr |
Definition at line 44 of file time_synchronizer.h.
typedef Base::M0Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M0Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 60 of file time_synchronizer.h.
typedef boost::shared_ptr<M1 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M1ConstPtr |
Definition at line 45 of file time_synchronizer.h.
typedef Base::M1Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M1Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 61 of file time_synchronizer.h.
typedef boost::shared_ptr<M2 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M2ConstPtr |
Definition at line 46 of file time_synchronizer.h.
typedef Base::M2Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M2Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 62 of file time_synchronizer.h.
typedef boost::shared_ptr<M3 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M3ConstPtr |
Definition at line 47 of file time_synchronizer.h.
typedef Base::M3Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M3Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 63 of file time_synchronizer.h.
typedef boost::shared_ptr<M4 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M4ConstPtr |
Definition at line 48 of file time_synchronizer.h.
typedef Base::M4Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M4Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 64 of file time_synchronizer.h.
typedef boost::shared_ptr<M5 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M5ConstPtr |
Definition at line 49 of file time_synchronizer.h.
typedef Base::M5Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M5Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 65 of file time_synchronizer.h.
typedef boost::shared_ptr<M6 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M6ConstPtr |
Definition at line 50 of file time_synchronizer.h.
typedef Base::M6Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M6Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 66 of file time_synchronizer.h.
typedef boost::shared_ptr<M7 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M7ConstPtr |
Definition at line 51 of file time_synchronizer.h.
typedef Base::M7Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M7Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 67 of file time_synchronizer.h.
typedef boost::shared_ptr<M8 const> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M8ConstPtr |
Definition at line 52 of file time_synchronizer.h.
typedef Base::M8Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M8Event |
Reimplemented from message_filters::Synchronizer< sync_policies::ExactTime< M0, M1, M2, M3, M4, M5, M6, M7, M8 > >.
Definition at line 68 of file time_synchronizer.h.
typedef sync_policies::ExactTime<M0, M1, M2, M3, M4, M5, M6, M7, M8> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::Policy |
Definition at line 42 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 71 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
F2 & | f2, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 78 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
F2 & | f2, | |||
F3 & | f3, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 85 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
F2 & | f2, | |||
F3 & | f3, | |||
F4 & | f4, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 92 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
F2 & | f2, | |||
F3 & | f3, | |||
F4 & | f4, | |||
F5 & | f5, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 99 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
F2 & | f2, | |||
F3 & | f3, | |||
F4 & | f4, | |||
F5 & | f5, | |||
F6 & | f6, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 106 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
F2 & | f2, | |||
F3 & | f3, | |||
F4 & | f4, | |||
F5 & | f5, | |||
F6 & | f6, | |||
F7 & | f7, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 113 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | F0 & | f0, | |
F1 & | f1, | |||
F2 & | f2, | |||
F3 & | f3, | |||
F4 & | f4, | |||
F5 & | f5, | |||
F6 & | f6, | |||
F7 & | f7, | |||
F8 & | f8, | |||
uint32_t | queue_size | |||
) | [inline] |
Definition at line 120 of file time_synchronizer.h.
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::TimeSynchronizer | ( | uint32_t | queue_size | ) | [inline] |
Definition at line 126 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add0 | ( | const M0ConstPtr & | msg | ) | [inline] |
Definition at line 134 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add1 | ( | const M1ConstPtr & | msg | ) | [inline] |
Definition at line 139 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add2 | ( | const M2ConstPtr & | msg | ) | [inline] |
Definition at line 144 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add3 | ( | const M3ConstPtr & | msg | ) | [inline] |
Definition at line 149 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add4 | ( | const M4ConstPtr & | msg | ) | [inline] |
Definition at line 154 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add5 | ( | const M5ConstPtr & | msg | ) | [inline] |
Definition at line 159 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add6 | ( | const M6ConstPtr & | msg | ) | [inline] |
Definition at line 164 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add7 | ( | const M7ConstPtr & | msg | ) | [inline] |
Definition at line 169 of file time_synchronizer.h.
void message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::add8 | ( | const M8ConstPtr & | msg | ) | [inline] |
Definition at line 174 of file time_synchronizer.h.