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) |
template<class F0 , class F1 > | |
TimeSynchronizer (F0 &f0, F1 &f1, 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 , class F2 , class F3 > | |
TimeSynchronizer (F0 &f0, F1 &f1, F2 &f2, F3 &f3, 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 , 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 , 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 , 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 , 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) | |
TimeSynchronizer (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 85 of file time_synchronizer.h.
typedef Synchronizer<Policy> message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::Base |
Definition at line 89 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 90 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 106 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 91 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 107 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 92 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 108 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 93 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 109 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 94 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 110 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 95 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 111 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 96 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 112 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 97 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 113 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 98 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 114 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 88 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 117 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 124 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 131 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 138 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 145 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 152 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 159 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 166 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 172 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 180 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 185 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 190 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 195 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 200 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 205 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 210 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 215 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 220 of file time_synchronizer.h.