Public Types | Public Member Functions
message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 > Class Template Reference

Synchronizes up to 9 messages by their timestamps. More...

#include <time_synchronizer.h>

Inheritance diagram for message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Synchronizer< PolicyBase
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)

Detailed Description

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
class message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >

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"

CONNECTIONS

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>&);

USAGE

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.


Member Typedef Documentation

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M0Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M0Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M1Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M1Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M2Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M2Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M3Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M3Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M4Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M4Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M5Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M5Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M6Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M6Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M7Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M7Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
typedef Base::M8Event message_filters::TimeSynchronizer< M0, M1, M2, M3, M4, M5, M6, M7, M8 >::M8Event
template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.


Constructor & Destructor Documentation

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 , class F2 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 , class F2 , class F3 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 , class F2 , class F3 , class F4 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 , class F6 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 , class F6 , class F7 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
template<class F0 , class F1 , class F2 , class F3 , class F4 , class F5 , class F6 , class F7 , class F8 >
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.


Member Function Documentation

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.

template<class M0, class M1, class M2 = NullType, class M3 = NullType, class M4 = NullType, class M5 = NullType, class M6 = NullType, class M7 = NullType, class M8 = NullType>
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.


The documentation for this class was generated from the following file:


message_filters
Author(s): Josh Faust, Vijay Pradeep
autogenerated on Mon Oct 6 2014 11:47:35