#include <pcl/point_cloud.h>
#include <pcl/octree/octree.h>
#include <pcl_ros/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/filters/extract_indices.h>
#include <geometry_msgs/PoseStamped.h>
#include <geometry_msgs/PointStamped.h>
#include <tf/transform_listener.h>
#include <tf/transform_broadcaster.h>
#include <pcl_ros/transforms.h>
#include <pcl/io/pcd_io.h>
#include <ros/ros.h>
#include "sensor_msgs/PointCloud2.h"
#include <iostream>
#include <vector>
#include <message_filters/subscriber.h>
#include <message_filters/synchronizer.h>
#include <message_filters/sync_policies/approximate_time.h>
#include <float.h>
#include <math.h>
Go to the source code of this file.
Classes | |
class | NeverEmptyQueue< T > |
Typedefs | |
typedef std::vector < pcl::PointXYZ, Eigen::aligned_allocator < pcl::PointXYZ > > | AlignedPointTVector |
typedef pcl::PointCloud < pcl::PointXYZ > | PointCloud |
Functions | |
void | cloudCallback (const sensor_msgs::PointCloud2ConstPtr &cloud_msg) |
void | intersectPose (const sensor_msgs::PointCloud2ConstPtr &cloud_msg, const geometry_msgs::PoseStampedConstPtr &pose) |
int | main (int argc, char *argv[]) |
void | poseCallback (const geometry_msgs::PoseStampedConstPtr &pose) |
void | sendTransform (const ros::TimerEvent &te) |
Variables | |
tf::TransformBroadcaster * | broadcaster |
ros::Publisher | cloud_pub |
sensor_msgs::PointCloud2ConstPtr | g_cloud |
NeverEmptyQueue < sensor_msgs::PointCloud2ConstPtr > | g_cloud_queue |
bool | g_cloud_ready = false |
double | g_min_dist |
geometry_msgs::PoseStampedConstPtr | g_pose |
NeverEmptyQueue < geometry_msgs::PoseStampedConstPtr > | g_pose_queue |
bool | g_pose_ready = false |
double | g_resolution |
tf::StampedTransform | g_transform |
bool | g_transform_ready = false |
std::string | g_vector_frame |
tf::TransformListener * | listener |
ros::Publisher | point_pub |
typedef std::vector<pcl::PointXYZ, Eigen::aligned_allocator<pcl::PointXYZ> > AlignedPointTVector |
Definition at line 68 of file world_intersect.cpp.
typedef pcl::PointCloud<pcl::PointXYZ> PointCloud |
Definition at line 67 of file world_intersect.cpp.
void cloudCallback | ( | const sensor_msgs::PointCloud2ConstPtr & | cloud_msg | ) |
Definition at line 90 of file world_intersect.cpp.
void intersectPose | ( | const sensor_msgs::PointCloud2ConstPtr & | cloud_msg, |
const geometry_msgs::PoseStampedConstPtr & | pose | ||
) |
Definition at line 99 of file world_intersect.cpp.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 166 of file world_intersect.cpp.
void poseCallback | ( | const geometry_msgs::PoseStampedConstPtr & | pose | ) |
Definition at line 94 of file world_intersect.cpp.
void sendTransform | ( | const ros::TimerEvent & | te | ) |
Definition at line 159 of file world_intersect.cpp.
Definition at line 73 of file world_intersect.cpp.
Definition at line 70 of file world_intersect.cpp.
sensor_msgs::PointCloud2ConstPtr g_cloud |
Definition at line 77 of file world_intersect.cpp.
NeverEmptyQueue<sensor_msgs::PointCloud2ConstPtr> g_cloud_queue |
Definition at line 83 of file world_intersect.cpp.
bool g_cloud_ready = false |
Definition at line 80 of file world_intersect.cpp.
double g_min_dist |
Definition at line 87 of file world_intersect.cpp.
geometry_msgs::PoseStampedConstPtr g_pose |
Definition at line 78 of file world_intersect.cpp.
NeverEmptyQueue<geometry_msgs::PoseStampedConstPtr> g_pose_queue |
Definition at line 84 of file world_intersect.cpp.
bool g_pose_ready = false |
Definition at line 81 of file world_intersect.cpp.
double g_resolution |
Definition at line 87 of file world_intersect.cpp.
Definition at line 74 of file world_intersect.cpp.
bool g_transform_ready = false |
Definition at line 75 of file world_intersect.cpp.
std::string g_vector_frame |
Definition at line 88 of file world_intersect.cpp.
Definition at line 72 of file world_intersect.cpp.
Definition at line 71 of file world_intersect.cpp.