37 #ifndef MOVEIT_PERCEPTION_POINTCLOUD_OCTOMAP_UPDATER_ 38 #define MOVEIT_PERCEPTION_POINTCLOUD_OCTOMAP_UPDATER_ 44 #include <sensor_msgs/PointCloud2.h> 67 virtual void updateMask(
const sensor_msgs::PointCloud2& cloud,
const Eigen::Vector3d& sensor_origin,
68 std::vector<int>& mask);
98 std::unique_ptr<point_containment_filter::ShapeMask>
shape_mask_;
virtual bool initialize()
Do any necessary setup (subscribe to ros topics, etc.). This call assumes setMonitor() and setParams(...
std::unique_ptr< point_containment_filter::ShapeMask > shape_mask_
std::string point_cloud_topic_
Base class for classes which update the occupancy map.
message_filters::Subscriber< sensor_msgs::PointCloud2 > * point_cloud_subscriber_
std::string filtered_cloud_topic_
virtual ~PointCloudOctomapUpdater()
virtual ShapeHandle excludeShape(const shapes::ShapeConstPtr &shape)
boost::shared_ptr< tf::Transformer > tf_
bool getShapeTransform(ShapeHandle h, Eigen::Affine3d &transform) const
unsigned int point_subsample_
virtual void updateMask(const sensor_msgs::PointCloud2 &cloud, const Eigen::Vector3d &sensor_origin, std::vector< int > &mask)
void cloudMsgCallback(const sensor_msgs::PointCloud2::ConstPtr &cloud_msg)
ros::Publisher filtered_cloud_publisher_
virtual void forgetShape(ShapeHandle handle)
virtual bool setParams(XmlRpc::XmlRpcValue ¶ms)
Set updater params using struct that comes from parsing a yaml string. This must be called after setM...
ros::Time last_update_time_
ros::NodeHandle private_nh_
PointCloudOctomapUpdater()
std::shared_ptr< const Shape > ShapeConstPtr
tf::MessageFilter< sensor_msgs::PointCloud2 > * point_cloud_filter_