void doPublish() { if( stdr_msgs::ApplanixPose::ConstPtr pose = data_reader.instantiateApplanixPose() ) { timing(pose->header.stamp); pose_pub.publish( *pose ); } else if( velodyne_msgs::VelodyneScan::ConstPtr scans = data_reader.instantiateVelodyneScans() ) { timing(scans->header.stamp); scans_pub.publish( *scans ); } else if( stdr_velodyne::PointCloud::ConstPtr spin = data_reader.instantiateVelodyneSpin() ) { std_msgs::Header header; pcl_conversions::fromPCL(spin->header, header); timing(header.stamp); spin_pub.publish( *spin ); } else if( stdr_msgs::ApplanixGPS::ConstPtr gps = data_reader.instantiateApplanixGPS() ) { timing(gps->header.stamp); gps_pub.publish( *gps ); } else if( stdr_msgs::ApplanixRMS::ConstPtr rms = data_reader.instantiateApplanixRMS() ) { timing(rms->header.stamp); rms_pub.publish( *rms ); } else if( stdr_msgs::LadybugImages::ConstPtr img = data_reader.instantiateLadybugImages() ) { timing(img->header.stamp); ladybug_pub.publish( *img ); } }