Program Listing for File intensity_integrator.h¶
↰ Return to documentation for file (voxblox/include/voxblox/integrator/intensity_integrator.h
)
#ifndef VOXBLOX_INTEGRATOR_INTENSITY_INTEGRATOR_H_
#define VOXBLOX_INTEGRATOR_INTENSITY_INTEGRATOR_H_
#include <glog/logging.h>
#include <Eigen/Core>
#include <algorithm>
#include <queue>
#include <utility>
#include <vector>
#include "voxblox/core/layer.h"
#include "voxblox/core/voxel.h"
#include "voxblox/integrator/integrator_utils.h"
#include "voxblox/utils/timing.h"
namespace voxblox {
class IntensityIntegrator {
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
IntensityIntegrator(const Layer<TsdfVoxel>& tsdf_layer,
Layer<IntensityVoxel>* intensity_layer);
void setMaxDistance(const FloatingPoint max_distance) {
max_distance_ = max_distance;
}
FloatingPoint getMaxDistance() const { return max_distance_; }
void addIntensityBearingVectors(const Point& origin,
const Pointcloud& bearing_vectors,
const std::vector<float>& intensities);
private:
FloatingPoint max_distance_;
float max_weight_;
int intensity_prop_voxel_radius_;
const Layer<TsdfVoxel>& tsdf_layer_;
Layer<IntensityVoxel>* intensity_layer_;
};
} // namespace voxblox
#endif // VOXBLOX_INTEGRATOR_INTENSITY_INTEGRATOR_H_