38 #ifndef PCL_IO_CONCATENATE_DATA_H_ 39 #define PCL_IO_CONCATENATE_DATA_H_ 93 std::vector<boost::shared_ptr<message_filters::Subscriber<PointCloud2> > >
filters_;
122 cloud.header.stamp = input->header.stamp;
123 nf_.
add (boost::make_shared<PointCloud2> (cloud));
127 void input (
const PointCloud2::ConstPtr &in1,
const PointCloud2::ConstPtr &in2,
128 const PointCloud2::ConstPtr &in3,
const PointCloud2::ConstPtr &in4,
129 const PointCloud2::ConstPtr &in5,
const PointCloud2::ConstPtr &in6,
130 const PointCloud2::ConstPtr &in7,
const PointCloud2::ConstPtr &in8);
132 void combineClouds (
const PointCloud2 &in1,
const PointCloud2 &in2, PointCloud2 &out);
136 #endif //#ifndef PCL_ROS_IO_CONCATENATE_H_ XmlRpc::XmlRpcValue input_topics_
Input point cloud topics.
PointCloud2::ConstPtr PointCloud2ConstPtr
PointCloud2::Ptr PointCloud2Ptr
sensor_msgs::PointCloud2 PointCloud2
PointCloudConcatenateDataSynchronizer(int queue_size)
Empty constructor.
int maximum_queue_size_
The maximum number of messages that we can store in the queue.
bool approximate_sync_
True if we use an approximate time synchronizer versus an exact one (false by default).
std::string output_frame_
Output TF frame the concatenated points should be transformed to.
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ApproximateTime< PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2 > > > ts_a_
Synchronizer.
message_filters::PassThrough< PointCloud2 > nf_
Null passthrough filter, used for pushing empty elements in the synchronizer.
PointCloudConcatenateDataSynchronizer()
Empty constructor.
PointCloudConcatenateFieldsSynchronizer is a special form of data synchronizer: it listens for a set ...
void input(const PointCloud2::ConstPtr &in1, const PointCloud2::ConstPtr &in2, const PointCloud2::ConstPtr &in3, const PointCloud2::ConstPtr &in4, const PointCloud2::ConstPtr &in5, const PointCloud2::ConstPtr &in6, const PointCloud2::ConstPtr &in7, const PointCloud2::ConstPtr &in8)
Input callback for 8 synchronized topics.
ros::Publisher pub_output_
The output PointCloud publisher.
void combineClouds(const PointCloud2 &in1, const PointCloud2 &in2, PointCloud2 &out)
virtual ~PointCloudConcatenateDataSynchronizer()
Empty destructor.
std::vector< boost::shared_ptr< message_filters::Subscriber< PointCloud2 > > > filters_
A vector of message filters.
void add(const MConstPtr &msg)
tf::TransformListener tf_
TF listener object.
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ExactTime< PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2, PointCloud2 > > > ts_e_
void input_callback(const PointCloud2ConstPtr &input)
Input point cloud callback. Because we want to use the same synchronizer object, we push back empty e...