38 #ifndef PCL_ROS_FILTER_H_ 39 #define PCL_ROS_FILTER_H_ 42 #include <pcl/filters/filter.h> 46 #include <dynamic_reconfigure/server.h> 47 #include "pcl_ros/FilterConfig.h" 114 filter (
const PointCloud2::ConstPtr &input,
const IndicesPtr &indices,
115 PointCloud2 &output) = 0;
134 computePublish (
const PointCloud2::ConstPtr &input,
const IndicesPtr &indices);
153 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
157 #endif //#ifndef PCL_ROS_FILTER_H_ virtual void onInit()
Nodelet initialization routine.
boost::shared_ptr< dynamic_reconfigure::Server< pcl_ros::FilterConfig > > srv_
Pointer to a dynamic reconfigure service.
virtual void config_callback(pcl_ros::FilterConfig &config, uint32_t level)
Dynamic reconfigure service callback.
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ApproximateTime< PointCloud2, PointIndices > > > sync_input_indices_a_
std::string tf_input_frame_
The input TF frame the data should be transformed into, if input.header.frame_id is different...
std::string tf_output_frame_
The output TF frame the data should be transformed into, if input.header.frame_id is different...
Filter represents the base filter class. Some generic 3D operations that are applicable to all filter...
std::string tf_input_orig_frame_
The original data input TF frame.
double filter_limit_max_
The maximum allowed filter value a point will be considered from.
virtual void unsubscribe()
Lazy transport unsubscribe routine.
sensor_msgs::PointCloud2 PointCloud2
virtual void filter(const PointCloud2::ConstPtr &input, const IndicesPtr &indices, PointCloud2 &output)=0
Virtual abstract filter method. To be implemented by every child.
boost::mutex mutex_
Internal mutex.
PCLNodelet represents the base PCL Nodelet class. All PCL nodelets should inherit from this class...
boost::shared_ptr< std::vector< int > > IndicesPtr
virtual bool child_init(ros::NodeHandle &nh, bool &has_service)
Child initialization routine.
boost::shared_ptr< const std::vector< int > > IndicesConstPtr
void input_indices_callback(const PointCloud2::ConstPtr &cloud, const PointIndicesConstPtr &indices)
PointCloud2 + Indices data callback.
double filter_limit_min_
The minimum allowed filter value a point will be considered from.
message_filters::Subscriber< PointCloud2 > sub_input_filter_
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ExactTime< PointCloud2, PointIndices > > > sync_input_indices_e_
Synchronized input, and indices.
bool filter_limit_negative_
Set to true if we want to return the data outside (filter_limit_min_;filter_limit_max_). Default: false.
void computePublish(const PointCloud2::ConstPtr &input, const IndicesPtr &indices)
Call the child filter () method, optionally transform the result, and publish it. ...
PointIndices::ConstPtr PointIndicesConstPtr
std::string filter_field_name_
The desired user filter field name.
ros::Subscriber sub_input_
The input PointCloud subscriber.
virtual void subscribe()
Lazy transport subscribe routine.