#include <feature.h>
Public Types | |
typedef sensor_msgs::PointCloud2 | PointCloud2 |
typedef pcl::PointCloud< pcl::Normal > | PointCloudN |
typedef boost::shared_ptr< const PointCloudN > | PointCloudNConstPtr |
typedef boost::shared_ptr< PointCloudN > | PointCloudNPtr |
Public Types inherited from pcl_ros::Feature | |
typedef pcl::IndicesConstPtr | IndicesConstPtr |
typedef pcl::IndicesPtr | IndicesPtr |
typedef pcl::KdTree< pcl::PointXYZ > | KdTree |
typedef pcl::KdTree< pcl::PointXYZ >::Ptr | KdTreePtr |
typedef pcl::PointCloud< pcl::PointXYZ > | PointCloudIn |
typedef boost::shared_ptr< const PointCloudIn > | PointCloudInConstPtr |
typedef boost::shared_ptr< PointCloudIn > | PointCloudInPtr |
Public Types inherited from pcl_ros::PCLNodelet | |
typedef pcl::IndicesConstPtr | IndicesConstPtr |
typedef pcl::IndicesPtr | IndicesPtr |
typedef pcl_msgs::ModelCoefficients | ModelCoefficients |
typedef ModelCoefficients::ConstPtr | ModelCoefficientsConstPtr |
typedef ModelCoefficients::Ptr | ModelCoefficientsPtr |
typedef pcl::PointCloud< pcl::PointXYZ > | PointCloud |
typedef sensor_msgs::PointCloud2 | PointCloud2 |
typedef boost::shared_ptr< const PointCloud > | PointCloudConstPtr |
typedef boost::shared_ptr< PointCloud > | PointCloudPtr |
typedef pcl_msgs::PointIndices | PointIndices |
typedef PointIndices::ConstPtr | PointIndicesConstPtr |
typedef PointIndices::Ptr | PointIndicesPtr |
Public Member Functions | |
FeatureFromNormals () | |
Public Member Functions inherited from pcl_ros::Feature | |
Feature () | |
Empty constructor. More... | |
Public Member Functions inherited from pcl_ros::PCLNodelet | |
PCLNodelet () | |
Empty constructor. More... | |
Public Member Functions inherited from nodelet_topic_tools::NodeletLazy | |
NodeletLazy () | |
Public Member Functions inherited from nodelet::Nodelet | |
void | init (const std::string &name, const M_string &remapping_args, const V_string &my_argv, ros::CallbackQueueInterface *st_queue=NULL, ros::CallbackQueueInterface *mt_queue=NULL) |
Nodelet () | |
virtual | ~Nodelet () |
Protected Member Functions | |
virtual bool | childInit (ros::NodeHandle &nh)=0 |
Child initialization routine. Internal method. More... | |
virtual void | computePublish (const PointCloudInConstPtr &cloud, const PointCloudNConstPtr &normals, const PointCloudInConstPtr &surface, const IndicesPtr &indices)=0 |
Compute the feature and publish it. More... | |
virtual void | emptyPublish (const PointCloudInConstPtr &cloud)=0 |
Publish an empty point cloud of the feature output type. More... | |
Protected Member Functions inherited from pcl_ros::Feature | |
void | config_callback (FeatureConfig &config, uint32_t level) |
Dynamic reconfigure callback. More... | |
void | input_callback (const PointCloudInConstPtr &input) |
Input point cloud callback. Because we want to use the same synchronizer object, we push back empty elements with the same timestamp. More... | |
Protected Member Functions inherited from pcl_ros::PCLNodelet | |
bool | isValid (const ModelCoefficientsConstPtr &, const std::string &="model") |
Test whether a given ModelCoefficients message is "valid" (i.e., has values). More... | |
bool | isValid (const PointCloud2::ConstPtr &cloud, const std::string &topic_name="input") |
Test whether a given PointCloud message is "valid" (i.e., has points, and width and height are non-zero). More... | |
bool | isValid (const PointCloudConstPtr &cloud, const std::string &topic_name="input") |
Test whether a given PointCloud message is "valid" (i.e., has points, and width and height are non-zero). More... | |
bool | isValid (const PointIndicesConstPtr &, const std::string &="indices") |
Test whether a given PointIndices message is "valid" (i.e., has values). More... | |
Protected Member Functions inherited from nodelet_topic_tools::NodeletLazy | |
ros::Publisher | advertise (ros::NodeHandle &nh, std::string topic, int queue_size, bool latch=false) |
virtual void | connectionCallback (const ros::SingleSubscriberPublisher &pub) |
virtual void | onInitPostProcess () |
virtual void | warnNeverSubscribedCallback (const ros::WallTimerEvent &event) |
Protected Member Functions inherited from nodelet::Nodelet | |
ros::CallbackQueueInterface & | getMTCallbackQueue () const |
ros::NodeHandle & | getMTNodeHandle () const |
ros::NodeHandle & | getMTPrivateNodeHandle () const |
const V_string & | getMyArgv () const |
const std::string & | getName () const |
ros::NodeHandle & | getNodeHandle () const |
ros::NodeHandle & | getPrivateNodeHandle () const |
const M_string & | getRemappingArgs () const |
ros::CallbackQueueInterface & | getSTCallbackQueue () const |
std::string | getSuffixedName (const std::string &suffix) const |
Protected Attributes | |
PointCloudNConstPtr | normals_ |
A pointer to the input dataset that contains the point normals of the XYZ dataset. More... | |
Protected Attributes inherited from pcl_ros::Feature | |
int | k_ |
The number of K nearest neighbors to use for each point. More... | |
message_filters::PassThrough< PointCloudIn > | nf_pc_ |
message_filters::PassThrough< PointIndices > | nf_pi_ |
Null passthrough filter, used for pushing empty elements in the synchronizer. More... | |
double | search_radius_ |
The nearest neighbors search radius for each point. More... | |
int | spatial_locator_type_ |
Parameter for the spatial locator tree. By convention, the values represent: 0: ANN (Approximate Nearest Neigbor library) kd-tree 1: FLANN (Fast Library for Approximate Nearest Neighbors) kd-tree 2: Organized spatial dataset index. More... | |
boost::shared_ptr< dynamic_reconfigure::Server< FeatureConfig > > | srv_ |
Pointer to a dynamic reconfigure service. More... | |
ros::Subscriber | sub_input_ |
The input PointCloud subscriber. More... | |
message_filters::Subscriber< PointCloudIn > | sub_surface_filter_ |
The surface PointCloud subscriber filter. More... | |
KdTreePtr | tree_ |
The input point cloud dataset. More... | |
bool | use_surface_ |
Set to true if the nodelet needs to listen for incoming point clouds representing the search surface. More... | |
Protected Attributes inherited from pcl_ros::PCLNodelet | |
bool | approximate_sync_ |
True if we use an approximate time synchronizer versus an exact one (false by default). More... | |
bool | latched_indices_ |
Set to true if the indices topic is latched. More... | |
int | max_queue_size_ |
The maximum queue size (default: 3). More... | |
ros::Publisher | pub_output_ |
The output PointCloud publisher. More... | |
message_filters::Subscriber< PointIndices > | sub_indices_filter_ |
The message filter subscriber for PointIndices. More... | |
message_filters::Subscriber< PointCloud > | sub_input_filter_ |
The message filter subscriber for PointCloud2. More... | |
tf::TransformListener | tf_listener_ |
TF listener object. More... | |
bool | use_indices_ |
Set to true if point indices are used. More... | |
Protected Attributes inherited from nodelet_topic_tools::NodeletLazy | |
boost::mutex | connection_mutex_ |
ConnectionStatus | connection_status_ |
bool | ever_subscribed_ |
bool | lazy_ |
boost::shared_ptr< ros::NodeHandle > | nh_ |
boost::shared_ptr< ros::NodeHandle > | pnh_ |
std::vector< ros::Publisher > | publishers_ |
ros::WallTimer | timer_ever_subscribed_ |
bool | verbose_connection_ |
Private Member Functions | |
void | computePublish (const PointCloudInConstPtr &, const PointCloudInConstPtr &, const IndicesPtr &) |
Internal method. More... | |
void | input_normals_surface_indices_callback (const PointCloudInConstPtr &cloud, const PointCloudNConstPtr &cloud_normals, const PointCloudInConstPtr &cloud_surface, const PointIndicesConstPtr &indices) |
Input point cloud callback. Used when use_indices and use_surface are set. More... | |
virtual void | onInit () |
Nodelet initialization routine. More... | |
virtual void | subscribe () |
NodeletLazy connection routine. More... | |
virtual void | unsubscribe () |
Private Attributes | |
message_filters::Subscriber< PointCloudN > | sub_normals_filter_ |
The normals PointCloud subscriber filter. More... | |
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ApproximateTime< PointCloudIn, PointCloudN, PointCloudIn, PointIndices > > > | sync_input_normals_surface_indices_a_ |
Synchronized input, normals, surface, and point indices. More... | |
boost::shared_ptr< message_filters::Synchronizer< sync_policies::ExactTime< PointCloudIn, PointCloudN, PointCloudIn, PointIndices > > > | sync_input_normals_surface_indices_e_ |
typedef sensor_msgs::PointCloud2 pcl_ros::FeatureFromNormals::PointCloud2 |
typedef pcl::PointCloud<pcl::Normal> pcl_ros::FeatureFromNormals::PointCloudN |
|
inline |
|
protectedpure virtual |
Child initialization routine. Internal method.
Implements pcl_ros::Feature.
Implemented in pcl_ros::FPFHEstimation, pcl_ros::PFHEstimation, pcl_ros::FPFHEstimationOMP, pcl_ros::BoundaryEstimation, pcl_ros::PrincipalCurvaturesEstimation, pcl_ros::VFHEstimation, pcl_ros::SHOTEstimation, and pcl_ros::SHOTEstimationOMP.
|
inlineprivatevirtual |
|
protectedpure virtual |
Compute the feature and publish it.
Implemented in pcl_ros::FPFHEstimation, pcl_ros::PFHEstimation, pcl_ros::FPFHEstimationOMP, pcl_ros::BoundaryEstimation, pcl_ros::PrincipalCurvaturesEstimation, pcl_ros::VFHEstimation, pcl_ros::SHOTEstimation, and pcl_ros::SHOTEstimationOMP.
|
protectedpure virtual |
Publish an empty point cloud of the feature output type.
Implements pcl_ros::Feature.
Implemented in pcl_ros::FPFHEstimation, pcl_ros::PFHEstimation, pcl_ros::FPFHEstimationOMP, pcl_ros::BoundaryEstimation, pcl_ros::PrincipalCurvaturesEstimation, pcl_ros::VFHEstimation, pcl_ros::SHOTEstimation, and pcl_ros::SHOTEstimationOMP.
|
private |
Input point cloud callback. Used when use_indices and use_surface are set.
cloud | the pointer to the input point cloud |
cloud_normals | the pointer to the input point cloud normals |
cloud_surface | the pointer to the surface point cloud |
indices | the pointer to the input point cloud indices |
DEBUG
Definition at line 407 of file feature.cpp.
|
privatevirtual |
Nodelet initialization routine.
Reimplemented from pcl_ros::Feature.
Definition at line 275 of file feature.cpp.
|
privatevirtual |
NodeletLazy connection routine.
Reimplemented from pcl_ros::Feature.
Definition at line 319 of file feature.cpp.
|
privatevirtual |
Reimplemented from pcl_ros::Feature.
Definition at line 388 of file feature.cpp.
|
protected |
|
private |
|
private |
|
private |