polygon_array_transformer.h
Go to the documentation of this file.
1 // -*- mode: C++ -*-
2 /*********************************************************************
3  * Software License Agreement (BSD License)
4  *
5  * Copyright (c) 2014, JSK Lab
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer in the documentation and/or other materials provided
17  * with the distribution.
18  * * Neither the name of the JSK Lab nor the names of its
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  *********************************************************************/
35 
36 #ifndef JSK_PCL_ROS_UTILS_POLYGON_TRANSFORMER_H_
37 #define JSK_PCL_ROS_UTILS_POLYGON_TRANSFORMER_H_
38 
39 #include <ros/ros.h>
40 #include <ros/names.h>
41 #include <sensor_msgs/PointCloud2.h>
42 
43 #include <pcl_ros/pcl_nodelet.h>
44 
45 #include <jsk_recognition_msgs/PolygonArray.h>
46 #include <jsk_recognition_msgs/ModelCoefficientsArray.h>
47 
49 
53 
55 #include <jsk_topic_tools/connection_based_nodelet.h>
56 
57 namespace jsk_pcl_ros_utils
58 {
59  class PolygonArrayTransformer: public jsk_topic_tools::ConnectionBasedNodelet
60  {
61  public:
63  jsk_recognition_msgs::PolygonArray,
64  jsk_recognition_msgs::ModelCoefficientsArray > SyncPolicy;
65  virtual ~PolygonArrayTransformer();
66  protected:
67  virtual void onInit();
68  virtual void transform(const jsk_recognition_msgs::PolygonArray::ConstPtr& polygons,
69  const jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr& coefficients);
70  virtual void computeCoefficients(const geometry_msgs::PolygonStamped& polygon,
71  PCLModelCoefficientMsg& coefficient);
72  virtual void transformModelCoefficient(const Eigen::Affine3d& transform,
73  const PCLModelCoefficientMsg& coefficient,
74  PCLModelCoefficientMsg& result);
75  virtual void transformPolygon(const Eigen::Affine3d& transform,
76  const geometry_msgs::PolygonStamped& polygon,
77  geometry_msgs::PolygonStamped& result);
78  virtual void subscribe();
79  virtual void unsubscribe();
82  std::string frame_id_;
86  private:
87  };
88 }
89 
90 #endif
jsk_pcl_ros_utils
Definition: add_point_indices.h:51
ros::Publisher
boost::shared_ptr
jsk_pcl_ros_utils::PolygonArrayTransformer::sub_polygons_
message_filters::Subscriber< jsk_recognition_msgs::PolygonArray > sub_polygons_
Definition: polygon_array_transformer.h:147
ros.h
jsk_pcl_ros_utils::PolygonArrayTransformer::polygons_pub_
ros::Publisher polygons_pub_
Definition: polygon_array_transformer.h:144
time_synchronizer.h
jsk_pcl_ros_utils::PolygonArrayTransformer::SyncPolicy
message_filters::sync_policies::ExactTime< jsk_recognition_msgs::PolygonArray, jsk_recognition_msgs::ModelCoefficientsArray > SyncPolicy
Definition: polygon_array_transformer.h:128
message_filters::Subscriber< jsk_recognition_msgs::PolygonArray >
jsk_pcl_ros_utils::PolygonArrayTransformer::sub_coefficients_
message_filters::Subscriber< jsk_recognition_msgs::ModelCoefficientsArray > sub_coefficients_
Definition: polygon_array_transformer.h:148
pcl_nodelet.h
jsk_pcl_ros_utils::PolygonArrayTransformer::computeCoefficients
virtual void computeCoefficients(const geometry_msgs::PolygonStamped &polygon, PCLModelCoefficientMsg &coefficient)
Definition: polygon_array_transformer_nodelet.cpp:116
jsk_pcl_ros_utils::PolygonArrayTransformer::~PolygonArrayTransformer
virtual ~PolygonArrayTransformer()
Definition: polygon_array_transformer_nodelet.cpp:90
PCLModelCoefficientMsg
pcl::ModelCoefficients PCLModelCoefficientMsg
subscriber.h
jsk_pcl_ros_utils::PolygonArrayTransformer::sync_
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
Definition: polygon_array_transformer.h:149
jsk_pcl_ros_utils::PolygonArrayTransformer::frame_id_
std::string frame_id_
Definition: polygon_array_transformer.h:146
pcl_conversion_util.h
jsk_pcl_ros_utils::PolygonArrayTransformer::transform
virtual void transform(const jsk_recognition_msgs::PolygonArray::ConstPtr &polygons, const jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr &coefficients)
Definition: polygon_array_transformer_nodelet.cpp:177
jsk_pcl_ros_utils::PolygonArrayTransformer::unsubscribe
virtual void unsubscribe()
Definition: polygon_array_transformer_nodelet.cpp:110
jsk_pcl_ros_utils::PolygonArrayTransformer::onInit
virtual void onInit()
Definition: polygon_array_transformer_nodelet.cpp:76
jsk_pcl_ros_utils::PolygonArrayTransformer::transformModelCoefficient
virtual void transformModelCoefficient(const Eigen::Affine3d &transform, const PCLModelCoefficientMsg &coefficient, PCLModelCoefficientMsg &result)
Definition: polygon_array_transformer_nodelet.cpp:142
names.h
jsk_pcl_ros_utils::PolygonArrayTransformer::listener_
tf::TransformListener * listener_
Definition: polygon_array_transformer.h:145
tf::TransformListener
synchronizer.h
jsk_pcl_ros_utils::PolygonArrayTransformer::transformPolygon
virtual void transformPolygon(const Eigen::Affine3d &transform, const geometry_msgs::PolygonStamped &polygon, geometry_msgs::PolygonStamped &result)
Definition: polygon_array_transformer_nodelet.cpp:156
tf_listener_singleton.h
message_filters::sync_policies::ExactTime
jsk_pcl_ros_utils::PolygonArrayTransformer::coefficients_pub_
ros::Publisher coefficients_pub_
Definition: polygon_array_transformer.h:144
jsk_pcl_ros_utils::PolygonArrayTransformer::subscribe
virtual void subscribe()
Definition: polygon_array_transformer_nodelet.cpp:101


jsk_pcl_ros_utils
Author(s): Yohei Kakiuchi
autogenerated on Fri May 16 2025 03:11:43