70 person_confidence_ = std::numeric_limits<float>::quiet_NaN();
86 points_indices_.indices = indices.
indices;
88 for (
const auto& index : (points_indices_.indices))
90 PointT* p = &(*input_cloud)[index];
92 min_x_ = std::min(p->x, min_x_);
93 max_x_ = std::max(p->x, max_x_);
96 min_y_ = std::min(p->y, min_y_);
97 max_y_ = std::max(p->y, max_y_);
100 min_z_ = std::min(p->z, min_z_);
101 max_z_ = std::max(p->z, max_z_);
116 distance_ = std::sqrt(c_x_ * c_x_ + c_z_ * c_z_);
121 distance_ = std::sqrt(c_y_ * c_y_ + c_z_ * c_z_);
139 for (
const auto& index : (points_indices_.indices))
141 PointT* p = &(*input_cloud)[index];
155 for (
const auto& index : (points_indices_.indices))
157 PointT* p = &(*input_cloud)[index];
180 for (
const auto& index : (points_indices_.indices))
182 PointT* p = &(*input_cloud)[index];
190 angle_ = std::atan2(c_z_, c_x_);
194 Eigen::Vector4f
c_point(c_x_, c_y_, c_z_, 1.0f);
201 Eigen::Vector3f v = Eigen::Vector3f(c_x_, c_y_, c_z_) - tbottom_;
203 ttop_ = v * height / v.norm() + tbottom_;
204 tcenter_ = v * height * 0.5 / v.norm() + tbottom_;
205 top_ = Eigen::Vector3f(c_x_, min_y_, c_z_);
206 bottom_ = Eigen::Vector3f(c_x_, max_y_, c_z_);
207 center_ = Eigen::Vector3f(c_x_, c_y_, c_z_);
209 min_ = Eigen::Vector3f(min_x_, min_y_, min_z_);
211 max_ = Eigen::Vector3f(max_x_, max_y_, max_z_);
219 for (
const auto& index : (points_indices_.indices))
221 PointT* p = &(*input_cloud)[index];
229 angle_ = std::atan2(c_z_, c_y_);
230 angle_max_ = std::max(std::atan2(min_z_, min_y_), std::atan2(max_z_, min_y_));
231 angle_min_ = std::min(std::atan2(min_z_, max_y_), std::atan2(max_z_, max_y_));
233 Eigen::Vector4f
c_point(c_x_, c_y_, c_z_, 1.0f);
240 Eigen::Vector3f v = Eigen::Vector3f(c_x_, c_y_, c_z_) - tbottom_;
242 ttop_ = v * height / v.norm() + tbottom_;
243 tcenter_ = v * height * 0.5 / v.norm() + tbottom_;
244 top_ = Eigen::Vector3f(max_x_, c_y_, c_z_);
245 bottom_ = Eigen::Vector3f(min_x_, c_y_, c_z_);
246 center_ = Eigen::Vector3f(c_x_, c_y_, c_z_);
248 min_ = Eigen::Vector3f(min_x_, min_y_, min_z_);
250 max_ = Eigen::Vector3f(max_x_, max_y_, max_z_);