message_filter_display.h
Go to the documentation of this file.
00001 /*
00002  * message_filter_display.h
00003  *
00004  *  Created on: Jan 24, 2016
00005  *  Author: Péter Fankhauser
00006  *  Institute: ETH Zurich
00007  */
00008 
00009 #pragma once
00010 
00011 #ifndef Q_MOC_RUN
00012 #include "grid_map_rviz_plugin/modified/frame_manager.h"
00013 #include <rviz/message_filter_display.h>
00014 #endif
00015 
00016 namespace grid_map_rviz_plugin {
00017 
00018 template<class MessageType>
00019 class MessageFilterDisplayMod : public rviz::MessageFilterDisplay<MessageType>
00020 {
00021  public:
00022   typedef MessageFilterDisplayMod<MessageType> MFDClass;
00023 
00024   void onInitialize()
00025   {
00026   #if ROS_VERSION_MINIMUM(1,14,0)
00027     MFDClass::tf_filter_ = new tf2_ros::MessageFilter<MessageType>(*MFDClass::context_->getTF2BufferPtr(),
00028                                                               MFDClass::fixed_frame_.toStdString(),
00029                                                               10, MFDClass::update_nh_);
00030   #else
00031     MFDClass::tf_filter_ = new tf::MessageFilter<MessageType>(*MFDClass::context_->getTFClient(),
00032                                                               MFDClass::fixed_frame_.toStdString(),
00033                                                               10, MFDClass::update_nh_);
00034   #endif
00035 
00036     MFDClass::tf_filter_->connectInput(MFDClass::sub_);
00037     MFDClass::tf_filter_->registerCallback(
00038         boost::bind(&MFDClass::incomingMessage, this, _1));
00039     MFDClass::context_->getFrameManager()->registerFilterForTransformStatusCheck(
00040         MFDClass::tf_filter_, this);
00041   }
00042 
00043 };
00044 
00045 } // end namespace


grid_map_rviz_plugin
Author(s): Philipp Krüsi, Péter Fankhauser
autogenerated on Tue Jul 9 2019 05:06:44