Go to the documentation of this file.
38 #ifndef PCL_ROS_SAC_SEGMENTATION_H_
39 #define PCL_ROS_SAC_SEGMENTATION_H_
45 #include <pcl/segmentation/sac_segmentation.h>
48 #include <dynamic_reconfigure/server.h>
49 #include "pcl_ros/SACSegmentationConfig.h"
50 #include "pcl_ros/SACSegmentationFromNormalsConfig.h"
167 pcl::SACSegmentation<pcl::PointXYZ>
impl_;
174 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
227 indices.header.stamp =
fromPCL(cloud->header).stamp;
228 nf_.
add (boost::make_shared<PointIndices> (indices));
252 void axis_callback (
const pcl_msgs::ModelCoefficientsConstPtr &model);
258 void config_callback (SACSegmentationFromNormalsConfig &config, uint32_t level);
274 pcl::SACSegmentationFromNormals<pcl::PointXYZ, pcl::Normal>
impl_;
281 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
285 #endif //#ifndef PCL_ROS_SAC_SEGMENTATION_H_
boost::mutex mutex_
Internal mutex.
std::string getInputTFframe()
Get the TF frame the input PointCloud should be transformed into before processing.
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ExactTime< PointCloud, PointIndices > > > sync_input_indices_e_
Synchronized input, and indices.
pcl::SACSegmentationFromNormals< pcl::PointXYZ, pcl::Normal > impl_
The PCL implementation used.
PCLNodelet represents the base PCL Nodelet class. All PCL nodelets should inherit from this class.
std::string tf_input_frame_
The input TF frame the data should be transformed into, if input.header.frame_id is different.
boost::shared_ptr< dynamic_reconfigure::Server< SACSegmentationFromNormalsConfig > > srv_
Pointer to a dynamic reconfigure service.
boost::shared_ptr< PointCloud > PointCloudPtr
void setInputTFframe(std::string tf_frame)
Set the input TF frame the data should be transformed into before processing, if input....
boost::shared_ptr< PointCloudN > PointCloudNPtr
std::string tf_input_orig_frame_
The original data input TF frame.
message_filters::PassThrough< pcl_msgs::PointIndices > nf_pi_
Null passthrough filter, used for pushing empty elements in the synchronizer.
virtual void onInit()
Nodelet initialization routine.
SACSegmentation()
Constructor.
void input_callback(const PointCloudConstPtr &input)
Input callback. Used when latched_indices_ is set.
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ExactTime< PointCloud, PointCloudN, PointIndices > > > sync_input_normals_indices_e_
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ApproximateTime< PointCloud, PointIndices > > > sync_input_indices_a_
message_filters::PassThrough< PointIndices > nf_
Null passthrough filter, used for pushing empty elements in the synchronizer.
boost::mutex mutex_
Internal mutex.
std::string tf_output_frame_
The output TF frame the data should be transformed into, if input.header.frame_id is different.
pcl::SACSegmentation< pcl::PointXYZ > impl_
The PCL implementation used.
boost::shared_ptr< PointCloud > PointCloudPtr
PointIndices::ConstPtr PointIndicesConstPtr
pcl::PointCloud< pcl::PointXYZ > PointCloud
pcl::PointCloud< pcl::PointXYZ > PointCloud
void indices_callback(const PointIndicesConstPtr &indices)
Indices callback. Used when latched_indices_ is set.
boost::shared_ptr< const PointCloud > PointCloudConstPtr
message_filters::Subscriber< PointCloudN > sub_normals_filter_
The normals PointCloud subscriber filter.
void input_normals_indices_callback(const PointCloudConstPtr &cloud, const PointCloudNConstPtr &cloud_normals, const PointIndicesConstPtr &indices)
Input point cloud callback.
std::string tf_output_frame_
The output TF frame the data should be transformed into, if input.header.frame_id is different.
virtual void unsubscribe()
void fromPCL(const pcl::ModelCoefficients &pcl_mc, pcl_msgs::ModelCoefficients &mc)
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ApproximateTime< PointCloud, PointCloudN, PointIndices > > > sync_input_normals_indices_a_
Synchronized input, normals, and indices.
boost::shared_ptr< const PointCloudN > PointCloudNConstPtr
std::string getOutputTFframe()
Get the TF frame the PointCloud should be transformed into after processing.
std::string getInputTFframe()
Get the TF frame the input PointCloud should be transformed into before processing.
pcl::PointCloud< pcl::Normal > PointCloudN
void add(const EventType &evt)
void input_indices_callback(const PointCloudConstPtr &cloud, const PointIndicesConstPtr &indices)
Input point cloud callback. Used when use_indices is set.
virtual void subscribe()
LazyNodelet connection routine.
ros::Subscriber sub_axis_
The input PointCloud subscriber.
virtual void subscribe()
LazyNodelet connection routine.
std::string tf_input_frame_
The input TF frame the data should be transformed into, if input.header.frame_id is different.
boost::shared_ptr< const PointCloud > PointCloudConstPtr
ros::Publisher pub_model_
The output ModelCoefficients publisher.
void setInputTFframe(std::string tf_frame)
Set the input TF frame the data should be transformed into before processing, if input....
std::string tf_input_orig_frame_
The original data input TF frame.
void config_callback(SACSegmentationFromNormalsConfig &config, uint32_t level)
Dynamic reconfigure callback.
void axis_callback(const pcl_msgs::ModelCoefficientsConstPtr &model)
Model callback.
SACSegmentationFromNormals represents the PCL nodelet segmentation class for Sample Consensus methods...
virtual void unsubscribe()
ros::Publisher pub_indices_
The output PointIndices publisher.
PointIndices indices_
Pointer to a set of indices stored internally. (used when latched_indices_ is set).
virtual void onInit()
Nodelet initialization routine.
void config_callback(SACSegmentationConfig &config, uint32_t level)
Dynamic reconfigure callback.
void setOutputTFframe(std::string tf_frame)
Set the output TF frame the data should be transformed into after processing.
boost::shared_ptr< dynamic_reconfigure::Server< SACSegmentationConfig > > srv_
Pointer to a dynamic reconfigure service.
pcl_msgs::PointIndices PointIndices
SACSegmentation represents the Nodelet segmentation class for Sample Consensus methods and models,...
std::string getOutputTFframe()
Get the TF frame the PointCloud should be transformed into after processing.
void setOutputTFframe(std::string tf_frame)
Set the output TF frame the data should be transformed into after processing.
ros::Subscriber sub_input_
The input PointCloud subscriber.
void input_callback(const PointCloudConstPtr &cloud)
Input point cloud callback. Because we want to use the same synchronizer object, we push back empty e...
pcl_ros
Author(s): Open Perception, Julius Kammerl
, William Woodall
autogenerated on Fri Jul 12 2024 02:54:40