43 ConnectionBasedNodelet::onInit();
44 pub_polygon_ = advertise<jsk_recognition_msgs::PolygonArray>(*pnh_,
"output", 1);
45 pub_coefficients_ = advertise<jsk_recognition_msgs::ModelCoefficientsArray>(*pnh_,
46 "output_coefficients", 1);
48 sync_ = boost::make_shared<message_filters::Synchronizer<SyncPolicy2> >(100);
83 const jsk_recognition_msgs::PolygonArray::ConstPtr& msg0,
84 const jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr& coefficients0,
85 const jsk_recognition_msgs::PolygonArray::ConstPtr& msg1,
86 const jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr& coefficients1)
88 std::vector<jsk_recognition_msgs::PolygonArray::ConstPtr> arrays;
89 arrays.push_back(msg0);
90 arrays.push_back(msg1);
91 std::vector<jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr> coefficients_array;
92 coefficients_array.push_back(coefficients0);
93 coefficients_array.push_back(coefficients1);
98 const std::vector<jsk_recognition_msgs::PolygonArray::ConstPtr>& arrays,
99 const std::vector<jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr>& coefficients_array)
101 if (arrays.size() == 0) {
105 if (coefficients_array.size() == 0) {
109 if (arrays.size() != coefficients_array.size()) {
110 NODELET_ERROR(
"polygons and coefficients are not the same length");
113 jsk_recognition_msgs::PolygonArray new_array;
114 new_array.header = arrays[0]->header;
115 for (
size_t i = 0;
i < arrays.size();
i++) {
116 jsk_recognition_msgs::PolygonArray::ConstPtr
array = arrays[
i];
117 for (
size_t j = 0; j <
array->polygons.size(); j++) {
118 geometry_msgs::PolygonStamped polygon =
array->polygons[j];
119 new_array.polygons.push_back(polygon);
124 jsk_recognition_msgs::ModelCoefficientsArray coefficients_new_array;
125 coefficients_new_array.header = coefficients_array[0]->header;
126 for (
size_t i = 0;
i < coefficients_array.size();
i++) {
127 jsk_recognition_msgs::ModelCoefficientsArray::ConstPtr
array = coefficients_array[
i];
128 for (
size_t j = 0; j <
array->coefficients.size(); j++) {
129 coefficients_new_array.coefficients.push_back(
array->coefficients[j]);