41 #ifndef CONTAINER_OCCUPANCY_DETECTOR_H_
42 #define CONTAINER_OCCUPANCY_DETECTOR_H_
55 #include <jsk_recognition_msgs/BoundingBoxArray.h>
56 #include <jsk_recognition_msgs/ClusterPointIndices.h>
57 #include <jsk_topic_tools/diagnostic_nodelet.h>
58 #include <sensor_msgs/PointCloud2.h>
60 #include <pcl/filters/crop_box.h>
64 class ContainerOccupancyDetector:
public jsk_topic_tools::DiagnosticNodelet{
67 jsk_recognition_msgs::BoundingBoxArray,
68 sensor_msgs::PointCloud2,
69 jsk_recognition_msgs::ClusterPointIndices
72 jsk_recognition_msgs::BoundingBoxArray,
73 sensor_msgs::PointCloud2,
74 jsk_recognition_msgs::ClusterPointIndices
85 const jsk_recognition_msgs::BoundingBoxArray::ConstPtr& boxes_msg,
86 const sensor_msgs::PointCloud2::ConstPtr& points_msg,
87 const jsk_recognition_msgs::ClusterPointIndices::ConstPtr& point_indices_msg);
93 const jsk_recognition_msgs::BoundingBoxArray::ConstPtr& boxes_msg,
94 const sensor_msgs::PointCloud2::ConstPtr& points_msg);
102 std::shared_ptr<message_filters::Synchronizer<SyncPolicy> >
sync_;
103 std::shared_ptr<message_filters::Synchronizer<ApproximateSyncPolicy> >
ap_sync_;
110 #if ( PCL_MAJOR_VERSION >= 1 && PCL_MINOR_VERSION >= 12 )
112 std::shared_ptr<pcl::PCLPointCloud2>(
new pcl::PCLPointCloud2);
114 std::shared_ptr<pcl::PointCloud<pcl::PointXYZ>>(
new pcl::PointCloud<pcl::PointXYZ>);
139 #endif // CONTAINER_OCCUPANCY_DETECTOR_H_