17 #ifndef CARTOGRAPHER_MAPPING_3D_SCAN_MATCHING_OCCUPIED_SPACE_COST_FUNCTOR_H_ 18 #define CARTOGRAPHER_MAPPING_3D_SCAN_MATCHING_OCCUPIED_SPACE_COST_FUNCTOR_H_ 28 namespace mapping_3d {
29 namespace scan_matching {
49 bool operator()(
const T*
const translation,
const T*
const rotation,
50 T*
const residual)
const {
52 Eigen::Map<
const Eigen::Matrix<T, 3, 1>>(translation),
53 Eigen::Quaternion<T>(rotation[0], rotation[1], rotation[2],
55 return Evaluate(transform, residual);
60 T*
const residual)
const {
62 const Eigen::Matrix<T, 3, 1> world =
81 #endif // CARTOGRAPHER_MAPPING_3D_SCAN_MATCHING_OCCUPIED_SPACE_COST_FUNCTOR_H_
bool operator()(const T *const translation, const T *const rotation, T *const residual) const
const sensor::PointCloud & point_cloud_
const double scaling_factor_
bool Evaluate(const transform::Rigid3< T > &transform, T *const residual) const
std::vector< Eigen::Vector3f > PointCloud
OccupiedSpaceCostFunctor(const double scaling_factor, const sensor::PointCloud &point_cloud, const HybridGrid &hybrid_grid)
const InterpolatedGrid interpolated_grid_
OccupiedSpaceCostFunctor & operator=(const OccupiedSpaceCostFunctor &)=delete
T GetProbability(const T &x, const T &y, const T &z) const