36 #ifndef PCL_COMMON_CENTROID_H_
37 #define PCL_COMMON_CENTROID_H_
60 template <
typename Po
intT>
inline unsigned int
72 template <
typename Po
intT>
inline unsigned int
74 const std::vector<int> &indices, Eigen::Vector4f ¢roid);
85 template <
typename Po
intT>
inline unsigned int
102 template <
typename Po
intT>
inline unsigned int
104 const Eigen::Vector4f ¢roid,
105 Eigen::Matrix3f &covariance_matrix);
120 template <
typename Po
intT>
inline unsigned int
122 const Eigen::Vector4f ¢roid,
123 Eigen::Matrix3f &covariance_matrix);
138 template <
typename Po
intT>
inline unsigned int
140 const std::vector<int> &indices,
141 const Eigen::Vector4f ¢roid,
142 Eigen::Matrix3f &covariance_matrix);
157 template <
typename Po
intT>
inline unsigned int
160 const Eigen::Vector4f ¢roid,
161 Eigen::Matrix3f &covariance_matrix);
178 template <
typename Po
intT>
inline unsigned int
180 const std::vector<int> &indices,
181 const Eigen::Vector4f ¢roid,
182 Eigen::Matrix3f &covariance_matrix);
198 template <
typename Po
intT>
inline unsigned int
201 const Eigen::Vector4f ¢roid,
202 Eigen::Matrix3f &covariance_matrix);
216 template <
typename Po
intT>
inline unsigned int
218 Eigen::Matrix3f &covariance_matrix,
219 Eigen::Vector4f ¢roid);
234 template <
typename Po
intT>
inline unsigned int
236 const std::vector<int> &indices,
237 Eigen::Matrix3f &covariance_matrix,
238 Eigen::Vector4f ¢roid);
253 template <
typename Po
intT>
inline unsigned int
256 Eigen::Matrix3f &covariance_matrix,
257 Eigen::Vector4f ¢roid);
270 template <
typename Po
intT>
inline unsigned int
272 Eigen::Matrix3d &covariance_matrix,
273 Eigen::Vector4d ¢roid);
287 template <
typename Po
intT>
inline unsigned int
289 const std::vector<int> &indices,
290 Eigen::Matrix3d &covariance_matrix,
291 Eigen::Vector4d ¢roid);
305 template <
typename Po
intT>
inline unsigned int
308 Eigen::Matrix3d &covariance_matrix,
309 Eigen::Vector4d ¢roid);
322 template <
typename Po
intT>
inline unsigned int
324 Eigen::Matrix3f &covariance_matrix);
338 template <
typename Po
intT>
inline unsigned int
340 const std::vector<int> &indices,
341 Eigen::Matrix3f &covariance_matrix);
355 template <
typename Po
intT>
inline unsigned int
358 Eigen::Matrix3f &covariance_matrix);
370 template <
typename Po
intT>
inline unsigned int
372 Eigen::Matrix3d &covariance_matrix);
385 template <
typename Po
intT>
inline unsigned int
387 const std::vector<int> &indices,
388 Eigen::Matrix3d &covariance_matrix);
401 template <
typename Po
intT>
inline unsigned int
404 Eigen::Matrix3d &covariance_matrix);
412 template <
typename Po
intT>
void
414 const Eigen::Vector4f ¢roid,
424 template <
typename Po
intT>
void
426 const std::vector<int> &indices,
427 const Eigen::Vector4f ¢roid,
438 template <
typename Po
intT>
void
440 const Eigen::Vector4f ¢roid,
441 Eigen::MatrixXf &cloud_out);
452 template <
typename Po
intT>
void
454 const std::vector<int> &indices,
455 const Eigen::Vector4f ¢roid,
456 Eigen::MatrixXf &cloud_out);
467 template <
typename Po
intT>
void
470 const Eigen::Vector4f ¢roid,
471 Eigen::MatrixXf &cloud_out);
474 template<
typename Po
intT>
481 centroid_ (centroid),
482 p_ (reinterpret_cast<const
Pod&>(p)) { }
488 const T* data_ptr =
reinterpret_cast<const T*
>(raw_ptr);
497 centroid_[f_idx_++] += *data_ptr;
502 Eigen::VectorXf ¢roid_;
512 template <
typename Po
intT>
inline void
522 template <
typename Po
intT>
inline void
524 const std::vector<int> &indices, Eigen::VectorXf ¢roid);
533 template <
typename Po
intT>
inline void
541 #endif //#ifndef PCL_COMMON_CENTROID_H_